NSTextField *textfield = (__bridge NSTextField*)s->obj;
textfield.stringValue = [[NSString alloc] initWithUTF8String:value];
}
+
+/* -------------------------- public Textfield functions -------------------------- */
+
+void ui_textfield_focus(UIWIDGET textfield) {
+ NSTextField *tf = (__bridge NSTextField*)textfield;
+ [tf.window makeFirstResponder:tf];
+ [tf selectText:nil];
+}
+
+void ui_textfield_focus_without_selecting(UIWIDGET textfield) {
+ NSTextField *tf = (__bridge NSTextField*)textfield;
+ [tf.window makeFirstResponder:tf];
+}
+
+void ui_textfield_set_selection(UIWIDGET textfield, int begin, int end) {
+ NSTextField *tf = (__bridge NSTextField*)textfield;
+ [tf.window makeFirstResponder:tf];
+ NSTextView *fieldEditor = (NSTextView *)[tf.window fieldEditor:YES forObject:tf];
+ [fieldEditor setSelectedRange:NSMakeRange(begin, end-begin)];
+}
+
+void ui_textfield_select_all(UIWIDGET textfield) {
+ NSTextField *tf = (__bridge NSTextField*)textfield;
+ [tf selectText:nil];
+}
+
+void ui_textfield_set_editable(UIWIDGET textfield, UiBool editable) {
+ NSTextField *tf = (__bridge NSTextField*)textfield;
+ tf.editable = editable;
+}
+
+UiBool ui_textfield_is_editable(UIWIDGET textfield) {
+ NSTextField *tf = (__bridge NSTextField*)textfield;
+ return tf.isEditable;
+}
+
+void ui_textfield_set_position(UIWIDGET textfield, int pos) {
+ NSTextField *tf = (__bridge NSTextField*)textfield;
+ NSTextView *editor = (NSTextView *)[tf currentEditor];
+ [editor setSelectedRange:NSMakeRange(pos, 0)];
+}
+
+int ui_textfield_get_position(UIWIDGET textfield) {
+ NSTextField *tf = (__bridge NSTextField*)textfield;
+ NSTextView *editor = (NSTextView *)[tf currentEditor];
+ NSRange selectedRange = [editor selectedRange];
+ return (int)selectedRange.location;
+}
window_default_height = height;
}
+/* ------------------------------- SplitView Window-------------------------------- */
+
+void ui_splitview_window_set_pos(UiObject *obj, int pos) {
+ MainWindow *window = (__bridge MainWindow*)obj->wobj;
+ int divider = window.sidebar != nil ? 1 : 0;
+ [window.splitview setPosition:pos ofDividerAtIndex:divider];
+}
+
+int ui_splitview_window_get_pos(UiObject *obj) {
+ MainWindow *window = (__bridge MainWindow*)obj->wobj;
+ int divider = window.sidebar != nil ? 1 : 0;
+ return window.splitview.subviews[divider].frame.size.width;
+}
+
+void ui_splitview_window_set_default_pos(int pos) {
+ splitview_window_default_pos = pos;
+}
+
+void ui_splitview_window_use_property(UiBool enable) {
+ splitview_window_use_prop = enable;
+}
+
+void ui_splitview_window_set_visible(UiObject *obj, int pane, UiBool visible) {
+ MainWindow *window = (__bridge MainWindow*)obj->wobj;
+ if(pane >= 0 && pane < 2) {
+ window.splitview.subviews[pane].hidden = visible;
+ }
+}
+
/* --------------------------------- File Dialogs --------------------------------- */
void ui_openfiledialog(UiObject *obj, unsigned int mode, ui_callback file_selected_callback, void *cbdata) {