ui/cocoa/text.m

changeset 1116
677f7f68f5aa
parent 1102
c4883a63929b
equal deleted inserted replaced
1115:65870e2dbc1b 1116:677f7f68f5aa
79 id view = (__bridge id)textarea; 79 id view = (__bridge id)textarea;
80 id textview = objc_getAssociatedObject(view, "ui_textarea"); 80 id textview = objc_getAssociatedObject(view, "ui_textarea");
81 return (__bridge void*)textview; 81 return (__bridge void*)textview;
82 } 82 }
83 83
84 84 void ui_textarea_focus(UIWIDGET textarea) {
85 textarea = ui_textarea_gettextwidget(textarea);
86 if(!textarea) {
87 fprintf(stderr, "Error: ui_textarea_focus: widget is not a textarea\n");
88 return;
89 }
90 NSTextView *view = (__bridge NSTextView*)textarea;
91 [view.window makeFirstResponder:view];
92
93 }
94
95 void ui_textarea_set_selection(UIWIDGET textarea, int begin, int end) {
96 textarea = ui_textarea_gettextwidget(textarea);
97 if(!textarea) {
98 fprintf(stderr, "Error: ui_textarea_set_selection: widget is not a textarea\n");
99 return;
100 }
101 NSTextView *view = (__bridge NSTextView*)textarea;
102 NSRange range = NSMakeRange(begin, end-begin);
103 [view setSelectedRange:range];
104 }
105
106 void ui_textarea_select_all(UIWIDGET textarea) {
107 textarea = ui_textarea_gettextwidget(textarea);
108 if(!textarea) {
109 fprintf(stderr, "Error: ui_textarea_select_all: widget is not a textarea\n");
110 return;
111 }
112 }
113
114 void ui_textarea_set_editable(UIWIDGET textarea, UiBool editable) {
115 textarea = ui_textarea_gettextwidget(textarea);
116 if(!textarea) {
117 fprintf(stderr, "Error: ui_textarea_set_editable: widget is not a textarea\n");
118 return;
119 }
120 NSTextView *view = (__bridge NSTextView*)textarea;
121 view.editable = editable;
122 }
123
124 UiBool ui_textarea_is_editable(UIWIDGET textarea) {
125 textarea = ui_textarea_gettextwidget(textarea);
126 if(!textarea) {
127 fprintf(stderr, "Error: ui_textarea_is_editable: widget is not a textarea\n");
128 return 0;
129 }
130 NSTextView *view = (__bridge NSTextView*)textarea;
131 return view.isEditable;
132 }
133
134 void ui_textarea_set_position(UIWIDGET textarea, int pos) {
135 textarea = ui_textarea_gettextwidget(textarea);
136 if(!textarea) {
137 fprintf(stderr, "Error: ui_textarea_set_position: widget is not a textarea\n");
138 return;
139 }
140 NSTextView *view = (__bridge NSTextView*)textarea;
141 NSRange range = NSMakeRange(pos, 0);
142 [view setSelectedRange:range];
143 }
144
145 int ui_textarea_get_position(UIWIDGET textarea) {
146 textarea = ui_textarea_gettextwidget(textarea);
147 if(!textarea) {
148 fprintf(stderr, "Error: ui_textarea_get_position: widget is not a textarea\n");
149 return 0;
150 }
151 NSTextView *view = (__bridge NSTextView*)textarea;
152 NSRange range = view.selectedRange;
153 return (int)range.location;
154 }
155
156 void ui_textarea_scroll_to(UIWIDGET textarea, int pos) {
157 textarea = ui_textarea_gettextwidget(textarea);
158 if(!textarea) {
159 fprintf(stderr, "Error: ui_textarea_scroll_to: widget is not a textarea\n");
160 return;
161 }
162 NSTextView *view = (__bridge NSTextView*)textarea;
163 NSRange range = NSMakeRange(pos, 0);
164 [view scrollRangeToVisible:range];
165 }
166
167
168 // UiText textarea functions
85 169
86 void ui_textarea_save(UiText *text) { 170 void ui_textarea_save(UiText *text) {
87 171
88 } 172 }
89 173

mercurial