// Copyright (c) 2005 Michal Sudolsky // modified by Juraj Kolesár #include #include #include "../share/cuchar.h" GList *lines,*table,*nlines; Cc_Win *textwin,*win,*editbox; Cc_Win *popupmenu; char s[256]; void checkproc(Cc_Win *sender) { cc_set_checked(sender,0,!cc_get_checked(sender,0)); } void changeproc(Cc_Win *sender) { sprintf(s,"%ld\0",cc_get_pos(sender)); cc_set_text(textwin,s); } void changemenuproc(Cc_Win *sender) { sprintf(s,"%ld\0",cc_get_pos(sender)); cc_set_text(textwin,s); } void mbproc(Cc_Win *sender,long i) { if(i!=CC_MB_CANCEL)cc_set_api_run(false); } void closeproc(Cc_Win *sender) { if(sender==win) { cc_message_box(sender,mbproc,true,"Close","Do you want to save changes?", CC_MB_YES|CC_MB_NO|CC_MB_CANCEL); } else cc_delete_win(sender); } bool dialogacel(Cc_Win *win,long x,long y,unsigned short key) { if(key==CC_MOUSE_R_DOWN)cc_track_popup_menu(popupmenu,x,y); if((key&CC_MASK_KEY)0;i--) { s=malloc(7); sprintf(s,"%ld",i); nlines=g_list_prepend(nlines,s); } Cc_List_P list; list.type=CC_TP_LIST; list.activeline=0; list.lines=table; list.combotyp=CC_LI_TABLE; list.cback=CC_C_DEFAULT; list.cborder=CC_C_DEFAULT; list.ccells=CC_C_DEFAULT; list.ctext=CC_C_DEFAULT; list.cselected=CC_C_DEFAULT; list.cseltext=CC_C_DEFAULT; list.cactive=CC_C_DEFAULT; list.cactivetext=CC_C_DEFAULT; list.change=NULL; list.dblclk=NULL; list.scrcmark=CC_C_DEFAULT; list.scrcbar=CC_C_DEFAULT; list.scrcarrowup=CC_C_DEFAULT; list.scrcarrowdown=CC_C_DEFAULT; list.scrcback=CC_C_DEFAULT; Cc_Win *listbox=cc_create_win(win,2,7,12,/*7*/20,(Cc_Union_P*)&list,CC_ST_VISIBLE|CC_ST_A_FIXED/*|CC_ST_AUTOXSIZE*/,NULL); Cc_Combo_P combo; combo.type=CC_TP_COMBO; combo.activeline=0; combo.cback=CC_C_DEFAULT; combo.cbutback[0]=CC_C_DEFAULT; combo.cbutback[1]=CC_C_DEFAULT; combo.cbutfront[0]=CC_C_DEFAULT; combo.cbutfront[1]=CC_C_DEFAULT; combo.change=NULL; combo.maxvisitems=8; combo.lstvy=4; combo.lstcback=CC_C_DEFAULT; combo.lstcborder=CC_C_DEFAULT; combo.lstctext=CC_C_DEFAULT; combo.lstcselected=CC_C_DEFAULT; combo.lstcseltext=CC_C_DEFAULT; combo.lstcactive=CC_C_DEFAULT; combo.lstcactivetext=CC_C_DEFAULT; combo.lstscrcback=CC_C_DEFAULT; combo.lstscrcmark=CC_C_DEFAULT; combo.lstscrcbar=CC_C_DEFAULT; combo.lstscrcarrowup=CC_C_DEFAULT; combo.lstscrcarrowdown=CC_C_DEFAULT; combo.lstlines=nlines; combo.edistyle=CC_ED_NORMAL; combo.edicbmask=CC_C_DEFAULT; combo.edicfmask=CC_C_DEFAULT; Cc_Win *combobox=cc_create_win(win,18,4,24,1,(Cc_Union_P*)&combo,CC_ST_VISIBLE,NULL); cc_create_win(win,18,2,24,1,(Cc_Union_P*)&combo,CC_ST_VISIBLE|CC_ST_CO_WITH_EDIT,NULL); Cc_Menu_P menu; menu.type=CC_TP_MENU; menu.cback=CC_C_DEFAULT; menu.cborder=CC_C_DEFAULT; menu.ctext=CC_C_DEFAULT; menu.cutext=CC_C_DEFAULT; menu.cactive=CC_C_DEFAULT; menu.cactivetext=CC_C_DEFAULT; menu.cactiveutext=CC_C_DEFAULT; menu.change=changemenuproc; menu.select=menuproc; menu.vert=false; Cc_Win *menubox=cc_create_menu(NULL,&menu,NULL); Cc_Win *filemenu=cc_create_submenu(menubox); cc_add_menu_item(menubox,&(Cc_Menu_I){-1,false,"&File",0,filemenu}); cc_add_menu_item(filemenu,&(Cc_Menu_I){101,false,"&New",CC_MOD_CTRL|'N',NULL}); cc_add_menu_item(filemenu,&(Cc_Menu_I){102,false,"&Open",CC_MOD_CTRL|'O',NULL}); cc_add_menu_item(filemenu,&(Cc_Menu_I){-1,false,"-",0,NULL}); cc_add_menu_item(filemenu,&(Cc_Menu_I){103,false,"&Save",CC_MOD_CTRL|'S',NULL}); cc_add_menu_item(filemenu,&(Cc_Menu_I){104,false,"Save &As...",CC_MOD_CTRL|CC_MOD_SHIFT|'S',NULL}); cc_add_menu_item(filemenu,&(Cc_Menu_I){-1,false,"-",0,NULL}); cc_add_menu_item(filemenu,&(Cc_Menu_I){105,false,"Page Set&up",0,NULL}); cc_add_menu_item(filemenu,&(Cc_Menu_I){106,false,"&Print...",CC_MOD_CTRL|'P',NULL}); cc_add_menu_item(filemenu,&(Cc_Menu_I){-1,false,"-",0,NULL}); cc_add_menu_item(filemenu,&(Cc_Menu_I){107,false,"&Close",CC_MOD_CTRL|'W',NULL}); cc_add_menu_item(filemenu,&(Cc_Menu_I){108,false,"&Quit",CC_MOD_ALT|'X',NULL}); Cc_Win *editmenu=cc_create_submenu(menubox); cc_add_menu_item(menubox,&(Cc_Menu_I){-1,false,"&Edit",0,editmenu}); cc_add_menu_item(editmenu,&(Cc_Menu_I){201,false,"Cu&t",CC_MOD_CTRL|'X',NULL}); cc_add_menu_item(editmenu,&(Cc_Menu_I){202,false,"&Copy",CC_MOD_CTRL|'C',NULL}); cc_add_menu_item(editmenu,&(Cc_Menu_I){203,false,"&Paste",CC_MOD_CTRL|'V',NULL}); cc_add_menu_item(editmenu,&(Cc_Menu_I){204,false,"&Delete",0,NULL}); Cc_Win *toolsmenu=cc_create_submenu(menubox); cc_add_menu_item(menubox,&(Cc_Menu_I){-1,false,"&Tools",0,toolsmenu}); Cc_Win *researchmenu=cc_create_submenu(toolsmenu); cc_add_menu_item(toolsmenu,&(Cc_Menu_I){-1,false,"&Research",0,researchmenu}); Cc_Win *historymenu=cc_create_submenu(researchmenu); cc_add_menu_item(researchmenu,&(Cc_Menu_I){-1,false,"&History",0,historymenu}); cc_add_menu_item(historymenu,&(Cc_Menu_I){301,false,"&People",CC_MOD_CTRL|'K',NULL}); cc_ins_menu_item(filemenu,7,&(Cc_Menu_I){401,false,"Print Previe&w",CC_MOD_CTRL|CC_MOD_SHIFT|'P',NULL}); Cc_Menu_I cmenu; cc_get_menu_item(filemenu,3,&cmenu); cmenu.shortcut=CC_KEY_F2; cc_set_menu_item(filemenu,3,&cmenu); cc_del_menu_item(filemenu,6); menu.vert=true; popupmenu=cc_create_menu(win,&menu,NULL); cc_add_menu_item(popupmenu,&(Cc_Menu_I){101,false,"Cu&t",CC_MOD_CTRL|'X',NULL}); cc_add_menu_item(popupmenu,&(Cc_Menu_I){102,false,"&Copy",CC_MOD_CTRL|'C',NULL}); cc_add_menu_item(popupmenu,&(Cc_Menu_I){103,false,"&Paste",CC_MOD_CTRL|'V',NULL}); cc_add_menu_item(popupmenu,&(Cc_Menu_I){104,false,"&Delete",0,NULL}); cc_set_menu(win,menubox); cc_set_menu(NULL,menubox); cc_set_hl_downtext(downtext); cc_set_text(editbox,"Edit 1"); cc_show_win(win,true); cc_show_win(NULL,true); cc_set_focus(editbox); /*Cc_Dialog_P par; cc_get_win_params(win,(Cc_Union_P*)&par); cc_color_dialog(win,colorchooseproc,false,"Choose color",par.cback);*/ char filename[256],*mask="Text files (*.txt)|*.txt|All files (*.*)|*.*"; sprintf(filename,"/root/.parse/file.txt"); cc_file_open_dialog(win,filechooseproc,true,"Open file",filename,mask); //cc_set_focus(menubox); //cc_set_parent(editbox,dialog2); //cc_set_acel(win,cc_get_acel(win)); //cc_set_focus(editbox); //cc_set_pos(combobox,cc_get_pos(combobox)+1); //cc_set_pos(combobox,cc_get_pos(combobox)-20); //cc_move_win(status2,CC_NOCHANGE,CC_NOCHANGE,50,50,CC_NOCHANGE); //cc_show_win(mod,true); //cc_show_win(win,false); while(cc_message_pump()); cc_done(); }