TWindow * podwrite_mh_return(ttk_menu_item * item) { podwrite_mode = 0; pz_close_window(podwrite_menu->win); ti_widget_start(podwrite_wid); return TTK_MENU_DONOTHING; }
TWindow * new_podwrite_window_with_text(char * dt) { TWindow * ret; TWidget * wid; /* set podwrite's state */ podwrite_mode = 0; podwrite_linecount = 0; podwrite_screenlines = 0; podwrite_scroll = 0; podwrite_cursor_out_of_bounds = 0; podwrite_filename = 0; /* create the window, widget, and buffer */ podwrite_win = ret = ttk_new_window(_("PodWrite")); podwrite_wid = wid = ti_new_text_widget(0, 0, ret->w, ret->h, 1, dt, podwrite_callback, podwrite_widget_draw, podwrite_widget_input, 0); podwrite_buf = (TiBuffer *)wid->data; wid->scroll = podwrite_widget_scroll; wid->button = podwrite_widget_button; /* move cursor to beginning */ ti_buffer_cset(podwrite_buf, 0); /* set up window */ ttk_add_widget(ret, wid); // ret = pz_finish_window(ret); ttk_show_window(ret); ti_widget_start(wid); /* return */ return ret; }
TWindow * podwrite_mh_save(ttk_menu_item * item) { TWindow * ret; TWidget * wid; ret = ttk_new_window(_("Save to...")); wid = ti_new_standard_text_widget(10, 40, ret->w-20, 10+ttk_text_height(ttk_textfont), 0, (podwrite_filename?podwrite_filename:"/mnt/Notes/"), podwrite_save_callback); ttk_add_widget(ret, wid); // ret = pz_finish_window(ret); ttk_show_window(ret); ti_widget_start(wid); return ret; }
static int piezomaker_save() { { TWindow *ret; TWidget *wid; ret = ttk_new_window(_("Save to...")); wid = ti_new_standard_text_widget(10, 40, ret->w-20, 10+ttk_text_height(ttk_textfont), 0, "/untitled.pzm", piezomaker_save_callback); ttk_add_widget(ret, wid); ttk_show_window(ret); ti_widget_start(wid); } return 0; }
TWindow * new_mkdir_window(ttk_menu_item * item) { TWindow * ret; TWidget * wid; TWidget * wid2; ret = ttk_new_window(_("Make Directory")); wid = ti_new_standard_text_widget(10, 10+ttk_text_height(ttk_textfont)*2, ret->w-20, 10+ttk_text_height(ttk_textfont), 0, "", tix_mkdir_callback); ttk_add_widget(ret, wid); wid2 = ttk_new_widget(10, 10); wid2->w = ret->w-20; wid2->h = ttk_text_height(ttk_menufont); wid2->draw = tix_mkdir_draw; ttk_add_widget(ret, wid2); ttk_show_window(ret); ti_widget_start(wid); return 0; }
int podwrite_save_callback(TWidget * wid, char * fn) { FILE * f; pz_close_window(wid->win); if (fn[0]) { f = fopen(fn, "wb"); if (!f) { pz_error(_("Could not open file for saving.")); return 0; } fwrite(podwrite_buf->text, 1, podwrite_buf->usize, f); fclose(f); } podwrite_mode = 0; pz_close_window(podwrite_menu->win); ti_widget_start(podwrite_wid); return 0; }
TWindow * new_rename_window(ttk_menu_item * item) { TWindow * ret; TWidget * wid; TWidget * wid2; tix_rename_oldname = strdup(item->data); ret = ttk_new_window(_("Rename")); wid = ti_new_standard_text_widget(10, 10+ttk_text_height(ttk_textfont)*2, ret->w-20, 10+ttk_text_height(ttk_textfont), 0, tix_rename_oldname, tix_rename_callback); ttk_add_widget(ret, wid); wid2 = ttk_new_widget(10, 10); wid2->w = ret->w-20; wid2->h = ttk_text_height(ttk_menufont); wid2->draw = tix_rename_draw; ttk_add_widget(ret, wid2); ti_widget_start(wid); ttk_show_window(ret); return 0; }
int podwrite_widget_button(TWidget * wid, int btn, int t) { if (btn == TTK_BUTTON_MENU || btn == TTK_BUTTON_PLAY || btn == TTK_BUTTON_ACTION || podwrite_mode == 0) { return ti_widget_start(wid); } switch (podwrite_mode) { case 1: if (btn == TTK_BUTTON_PREVIOUS) { ((TiBuffer *)wid->data)->cpos = 0; podwrite_scroll = 0; wid->dirty = 1; } else if (btn == TTK_BUTTON_NEXT) { ((TiBuffer *)wid->data)->cpos = ((TiBuffer *)wid->data)->usize; podwrite_scroll = (podwrite_linecount - podwrite_screenlines); wid->dirty = 1; } else { return TTK_EV_UNUSED; } break; case 2: if (btn == TTK_BUTTON_PREVIOUS) { podwrite_scroll = 0; wid->dirty = 1; } else if (btn == TTK_BUTTON_NEXT) { podwrite_scroll = (podwrite_linecount - podwrite_screenlines); wid->dirty = 1; } else { return TTK_EV_UNUSED; } break; default: return TTK_EV_UNUSED; break; } return TTK_EV_CLICK; }
int podwrite_widget_scroll(TWidget * wid, int dir) { if (podwrite_mode == 0) { return ti_widget_start(wid); } TTK_SCROLLMOD (dir,4); switch (podwrite_mode) { case 1: ti_buffer_cmove((TiBuffer *)wid->data, dir); podwrite_check_bounds(); wid->dirty = 1; break; case 2: podwrite_scroll += dir; if (podwrite_scroll < 0) podwrite_scroll = 0; if (podwrite_scroll > (podwrite_linecount - podwrite_screenlines)) podwrite_scroll = (podwrite_linecount - podwrite_screenlines); wid->dirty = 1; break; default: return TTK_EV_UNUSED; break; } return TTK_EV_CLICK; }