ui/cocoa/text.m

changeset 29
c96169444d88
parent 26
a137277f9173
equal deleted inserted replaced
28:794a5c91c479 29:c96169444d88
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) {

mercurial