79 //frame.size.width = frame.size.width - 15; |
79 //frame.size.width = frame.size.width - 15; |
80 NSTextView *textview = [[NSTextView alloc]initWithFrame:frame]; |
80 NSTextView *textview = [[NSTextView alloc]initWithFrame:frame]; |
81 [textview setAllowsUndo:TRUE]; |
81 [textview setAllowsUndo:TRUE]; |
82 [textview setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable]; |
82 [textview setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable]; |
83 |
83 |
|
84 [textview setFont:[NSFont fontWithName:@"Menlo" size:12]]; |
|
85 |
84 [scrollview setDocumentView:textview]; |
86 [scrollview setDocumentView:textview]; |
85 |
87 |
86 ct->add(ct, scrollview); |
88 ct->add(ct, scrollview); |
87 |
89 |
88 // bind value |
90 // bind value |
91 value->set = ui_textarea_set; |
93 value->set = ui_textarea_set; |
92 value->getsubstr = ui_textarea_getsubstr; |
94 value->getsubstr = ui_textarea_getsubstr; |
93 value->insert = ui_textarea_insert; |
95 value->insert = ui_textarea_insert; |
94 value->position = ui_textarea_position; |
96 value->position = ui_textarea_position; |
95 value->selection = ui_textarea_selection; |
97 value->selection = ui_textarea_selection; |
|
98 value->length = ui_textarea_length; |
96 value->value = NULL; |
99 value->value = NULL; |
97 value->obj = textview; |
100 value->obj = textview; |
98 |
101 |
99 TextChangeMgr *delegate = [[TextChangeMgr alloc]initWithValue:value context:obj->ctx]; |
102 TextChangeMgr *delegate = [[TextChangeMgr alloc]initWithValue:value context:obj->ctx]; |
100 [textview setDelegate:delegate]; |
103 [textview setDelegate:delegate]; |
171 NSRange range = [[[(NSTextView*)text->obj selectedRanges] objectAtIndex:0] rangeValue]; |
174 NSRange range = [[[(NSTextView*)text->obj selectedRanges] objectAtIndex:0] rangeValue]; |
172 *begin = range.location; |
175 *begin = range.location; |
173 *end = range.location + range.length; |
176 *end = range.location + range.length; |
174 } |
177 } |
175 |
178 |
|
179 int ui_textarea_length(UiText *text) { |
|
180 return [[(NSTextView*)text->obj textStorage] length]; |
|
181 } |
|
182 |
176 void ui_text_undo(UiText *text) { |
183 void ui_text_undo(UiText *text) { |
177 [(NSUndoManager*)text->undomgr undo]; |
184 [(NSUndoManager*)text->undomgr undo]; |
178 } |
185 } |
179 |
186 |
180 void ui_text_redo(UiText *text) { |
187 void ui_text_redo(UiText *text) { |