application/main.c

changeset 26
a137277f9173
parent 22
bcf880b29bc3
child 27
77b09bb52ca0
equal deleted inserted replaced
25:78ae3efe463f 26:a137277f9173
108 printf("cut\n"); 108 printf("cut\n");
109 } 109 }
110 110
111 void action_copy(UiEvent *event, void *data) { 111 void action_copy(UiEvent *event, void *data) {
112 printf("copy\n"); 112 printf("copy\n");
113 TestWindowData *wd = event->window;
114 int begin;
115 int end;
116 wd->text.selection(&wd->text, &begin, &end);
117 char *selection = wd->text.getsubstr(&wd->text, begin, end);
118 ui_clipboard_set(selection);
113 } 119 }
114 120
115 void action_paste(UiEvent *event, void *data) { 121 void action_paste(UiEvent *event, void *data) {
116 printf("paste\n"); 122 printf("paste\n");
123 TestWindowData *wd = event->window;
124 char *str = ui_clipboard_get();
125 if(str) {
126 int pos = wd->text.position(&wd->text);
127 wd->text.insert(&wd->text, pos, str);
128 free(str);
129 }
117 } 130 }
118 131
119 void action_delete(UiEvent *event, void *data) { 132 void action_delete(UiEvent *event, void *data) {
120 printf("delete\n"); 133 printf("delete\n");
121 } 134 }

mercurial