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 } |