/** Create the IP Address Input Bar */ liqcell *ipbar_create() { liqcell *self = liqcell_quickcreatewidget("ipbar","ipbar", 800, 50); if(self) { // decorate the bar liqcell *data = liqcell_quickcreatevis("data","frame", 210, 0, 580, 40); liqcell_setfont(self, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (24), 0)); liqcell_propsets(self, "backcolor", "rgb(100,255,150)"); liqcell_propsets(self, "textcolor", "rgb(20,30,40)"); liqcell_propsets(self, "bordercolor", "rgb(255,255,255)"); // set props liqcell_propseti(self, "selstart", 0); liqcell_propseti(self, "sellength", 0); liqcell_propseti(self, "cursorpos", 0); // add handlers liqcell_handleradd(self, "mouse", textbox_mouse); liqcell_handleradd(self, "keypress", textbox_keypress); liqcell_handleradd(self, "keyrelease", textbox_keyrelease); } return self; }
/** * Create a numberbox ui component * @param caption The caption * @param datafefault Data caption * @return liqcell* The new numberbox */ liqcell *uinumberbox_create(const char *caption, const char *datadefault) { liqcell *self = liqcell_quickcreatewidget(caption,"uinumberbox", 800,80); if(self) { liqcell_propsets( self, "backcolor", "rgb(0,0,0)" ); liqcell *body = liqcell_quickcreatevis("body","frame", 10,10, 200,60); liqcell_setfont( body, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (24), 0) ); liqcell_propsets( body, "backcolor", "rgb(40,40,40)" ); liqcell_propsets( body, "textcolor", "rgb(255,255,255)" ); liqcell_setcaption(body, caption ); liqcell_child_insert( self, body ); liqcell *data = liqcell_quickcreatevis("data","frame", 220,5, 560,70); liqcell_setfont( data, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (42), 0) ); liqcell_propsets( data, "backcolor", "rgb(220,220,255)" ); liqcell_propsets( data, "textcolor", "rgb(0,0,0)" ); liqcell_setcaption(data, datadefault ); liqcell_child_insert( self, data ); } return self; }
/** * Create a colorbox ui component * @param caption The caption * @param datafefault Data caption * @return liqcell* The new colorbox */ liqcell *uicolorbox_create(const char *caption, const char *datadefault) { liqcell *self = liqcell_quickcreatewidget(caption,"uicolorbox", 800,150); if(self) { liqcell_propsets( self, "backcolor", "rgb(0,0,0)" ); liqcell *body = liqcell_quickcreatevis("body","frame", 10,10, 200,130); liqcell_setfont( body, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (24), 0) ); liqcell_propsets( body, "backcolor", "rgb(40,40,40)" ); liqcell_propsets( body, "textcolor", "rgb(255,255,255)" ); liqcell_setcaption(body, caption ); liqcell_child_insert( self, body ); liqcell *data = liqcell_quickcreatevis("data","frame", 270,5, 460,140); liqcell_propsets( data, "backcolor", datadefault ); liqcell_handleradd_withcontext(data, "click", (void*)uicolorbox_click, self ); liqcell_child_insert( self, data ); } return self; }
/** * Create a txtmsgbox ui component, this is the development function * @param caption Body Caption * @param datadefault Caption of the data * @return liqcell* The new textbox */ liqcell *uitxtmsgbox_create(const char *caption, const char *datadefault) { liqcell *self = liqcell_quickcreatewidget(caption,"txtmsgbox", 800,220); if(self) { liqcell_propsets( self, "backcolor", "rgb(0,0,0)" ); liqcell *body = liqcell_quickcreatevis("body","frame", 10,10, 200,60); liqcell_setfont( body, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (24), 0) ); liqcell_propsets( body, "backcolor", "rgb(40,40,40)" ); liqcell_propsets( body, "textcolor", "rgb(255,255,255)" ); liqcell_setcaption(body, caption ); liqcell_child_insert( self, body ); liqcell *data = liqcell_quickcreatevis("data","textbox", 220,5, 560,210); liqcell_setfont( data, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (64), 0) ); liqcell_propsets( data, "backcolor", "rgb(220,255,220)" ); liqcell_propsets( data, "textcolor", "rgb(0,0,0)" ); liqcell_propseti( data, "wordwrap", 1 ); liqcell_propseti( data, "maxlength", 140 ); liqcell_handleradd_withcontext(data, "captionchange", (void*)uitxtmsgbox_captionchange ,self); liqcell_setcaption(data, datadefault ); liqcell_child_insert( self, data ); } return self; }
/** * Create a infobar ui component * @param infotext Caption of the bar * @return liqcell* The new infobar */ liqcell *uiinfobar_create(const char *key, const char *infotext) { liqcell *self = liqcell_quickcreatewidget(key,"uiinfobar", 800,80); if(self) { liqcell_propsets( self, "backcolor", "rgb(0,0,0)" ); liqcell *body = liqcell_quickcreatevis("body","frame", 10,10, 780,60); liqcell_setfont( body, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (36), 0) ); liqcell_propsets( body, "backcolor", "rgb(40,40,40)" ); liqcell_propsets( body, "textcolor", "rgb(220,220,255)" ); liqcell_setcaption(body, infotext ); //liqcell_propseti( body, "selstart", 5 ); //liqcell_propseti( body, "sellength", 12 ); //liqcell_propseti( body, "cursorpos", 17 ); //liqcell_handleradd(body, "mouse", textbox_mouse); //liqcell_handleradd(body, "keypress", textbox_keypress); //liqcell_handleradd(body, "keyrelease", textbox_keyrelease); liqcell_child_insert( self, body ); } return self; }
/** * listitemlive was clicked */ static int listitemlive_click(liqcell *self,liqcellclickeventargs *args, void *context) { // code required // 20090421_191821 lcuk : switch between yes and no, eventually make into icons char *cap = liqcell_getcaption(self); if( (strcasecmp(cap,"Y")==0) ) { //liqcell_setcaption(self,"N"); //liqcell_propsets( self, "textcolor", "rgb(255,0,0)" ); liqcell_setcaption(self,"N"); liqcell_propsets( self, "textcolor", "rgb(255,0,0)" ); desktopmanage_live_untickall(context); } else { // disable all others then set this one. desktopmanage_live_untickall(context); liqcell_setcaption(self,"Y"); liqcell_propsets( self, "textcolor", "rgb(0,255,0)" ); } return 1; }
static liqcell *editoverlay_create(int w,int h) { // liqcell *self = liqcell_quickcreatewidget("editoverlay","overlay", w,h); if(self) { liqcell *c; //liqcell_propseti(self,"levelofdetail",1); c = liqcell_quickcreatevis("sketching", "picture", w*0,0,w/4,h ); liqcell_propseti(c,"lockaspect",1); liqcell_propsets(c,"imagefilename","media/lcuk_sig_headshot.png"); //liqcell_handleradd(c, "mouse", widget_mouse); //liqcell_handleradd(c, "click", widget_click); liqcell_child_append( self, c ); //liqcell *c; c = liqcell_quickcreatevis("barcode", "picture", w*0.25,0,w/4,h ); liqcell_propseti(c,"lockaspect",1); liqcell_propsets(c,"imagefilename","media/barcode.png"); //liqcell_handleradd(c, "mouse", widget_mouse); //liqcell_handleradd(c, "click", widget_click); liqcell_child_append( self, c ); c = liqcell_quickcreatevis("tagging", "picture", w*0.5,0,w/4,h ); liqcell_propseti(c,"lockaspect",1); liqcell_propsets(c,"imagefilename","media/tagging.png"); //liqcell_handleradd(c, "mouse", widget_mouse); //liqcell_handleradd(c, "click", widget_click); liqcell_child_append( self, c ); c = liqcell_quickcreatevis("more", "picture", w*0.75,0,w/4,h ); liqcell_propseti(c,"lockaspect",1); liqcell_propsets(c,"imagefilename","media/more.png"); //liqcell_handleradd(c, "mouse", widget_mouse); //liqcell_handleradd(c, "click", widget_click); liqcell_child_append( self, c ); /* c = liqcell_quickcreatevis("management", "picture", w*0.75,0,w/4,h ); liqcell_propseti(c,"lockaspect",1); liqcell_propsets(c,"imagefilename","media/manage.png"); //liqcell_handleradd(c, "mouse", widget_mouse); //liqcell_handleradd(c, "click", widget_click); liqcell_child_append( self, c );*/ //liqcell_child_arrange_autoflow(self); //liqcell_child_arrange_easytile(self); } return self; }
/** * Create a textbox ui component * @return liqcell* The new textbox */ liqcell *textbox_create() { liqcell *self = liqcell_quickcreatewidget("textbox","form", 600,50); if(self) { liqcell_setfont( self, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (24), 0) ); //liqcell_propsets( self, "backcolor", "rgb(100,255,150)" ); //liqcell_propsets( self, "textcolor", "rgb(20,30,40)" ); //liqcell_propsets( self, "bordercolor", "rgb(255,255,255)" ); liqcell_propsets( self, "textcolor", "rgb(0,0,0)" ); //liqcell_setimage( self, liqimage_cache_getfile("/usr/share/liqbase/onedotzero/media/2_text_back.png", 0,0,1) ); liqcell_setimage( self, liqimage_cache_getfile("/usr/share/liqbase/onedotzero/media/2.message/message_input_field.png", 0,0,1) ); liqcell_propseti( self, "lockaspect", 0 ); //liqcell_propremoves( self, "bordercolor" ); //liqcell_propremoves( self, "backcolor" ); liqcell_propseti( self, "maxlength", 140 ); liqcell_propseti( self, "selstart", 0 ); liqcell_propseti( self, "sellength", 0 ); liqcell_propseti( self, "cursorpos", 0 ); liqcell_handleradd(self, "mouse", textbox_mouse); liqcell_handleradd(self, "keypress", textbox_keypress); liqcell_handleradd(self, "keyrelease", textbox_keyrelease); liqcell_handleradd(self, "resize", textbox_resize); // add vkbd liqcell *vkbd_command = liqcell_quickcreatevis("vkbd_command" , "commandbutton", 0, 0, 0, 0); liqcell_handleradd_withcontext(vkbd_command, "click", keyboard_show_button_click, self); liqcell_setfont(vkbd_command, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (12), 0)); liqcell_setcaption(vkbd_command, "ABC"); liqcell_propsets(vkbd_command, "backcolor", CYAN); liqcell_propsets(vkbd_command, "textcolor", BLACK); liqcell_propseti(vkbd_command, "textalign", 2); liqcell_propseti(vkbd_command, "textaligny", 2); liqcell_propseti(vkbd_command, "lockaspect", 1); liqcell_setvisible(vkbd_command,0); // Wed Aug 19 19:08:20 2009 lcuk : proper way would be checking for no keyboard.. liqcell_child_insert(self, vkbd_command); } return self; }
liqcell *textbox_create() { liqcell *self = liqcell_quickcreatewidget("textbox","textbox", 800,50); if(self) { liqcell *data = liqcell_quickcreatevis("data","frame", 210,0, 580,40); liqcell_setfont( self, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (24), 0) ); liqcell_propsets( self, "backcolor", "rgb(100,255,150)" ); liqcell_propsets( self, "textcolor", "rgb(20,30,40)" ); liqcell_propsets( self, "bordercolor", "rgb(255,255,255)" ); //liqcell_setcaption(data, datadefault ); //liqcell_child_insert( self, data ); liqcell_propseti( self, "selstart", 0 ); liqcell_propseti( self, "sellength", 0 ); liqcell_propseti( self, "cursorpos", 0 ); //liqcell_propseti( data, "selstart", 5 ); //liqcell_propseti( data, "sellength", 12 ); //liqcell_propseti( data, "cursorpos", 17 ); liqcell_handleradd(self, "mouse", textbox_mouse); liqcell_handleradd(self, "keypress", textbox_keypress); liqcell_handleradd(self, "keyrelease", textbox_keyrelease); //liqcell *liqkeyboard_create(); // liqcell *kb = liqcell_quickcreatevis("data","liqkeyboard", 500,0, 60,20); //liqcell_setfont( kb, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (36), 0) ); //liqcell_propsets( kb, "backcolor", "rgb(220,255,220)" ); //liqcell_propsets( kb, "textcolor", "rgb(0,0,0)" ); //liqcell_setcaption(kb, datadefault ); // liqcell_child_insert( self, kb ); } return self; }
/** * uicolorbox clicked */ static int uicolorbox_click(liqcell *self,liqcellclickeventargs *args, liqcell *uicolorbox) { liqcell *dialog = liqcell_quickcreatevis("dialog1", "dialog_selectcolor", 0,0, -1,-1); liqcell_propsets( dialog, "colorselected", liqcell_propgets( self, "backcolor", NULL ) ); liqcell_easyrun(dialog); char *sel=liqcell_propgets( dialog, "colorselected",NULL ); if( sel && *sel ) { // do whatever is needed liqcell_propsets( self, "backcolor", sel ); } liqcell_release(dialog); return 0; }
/** * liqpostcard.cmdmessagedraw clicked */ static int cmdmessagedraw_click(liqcell *self,liqcelleventargs *args, liqcell *liqpostcard) { // liqcell *messageback = liqcell_child_lookup(liqpostcard, "messageback"); liqcell * oneedit = liqcell_quickcreatevis("liqpostcard.draw","liqsketchedit",0,0,-1,-1); if(oneedit) { // copy the sketch and background image to the editor liqcell_setsketch( oneedit, liqcell_getsketch(messageback) ); liqcell_setimage( oneedit, liqcell_getimage(messageback) ); liqcell_propsets( oneedit, "pencolor", "rgb(0,0,50)" ); liqcell_easyrun(oneedit); // now, make sure the messageback sketch is updated if( (liqcell_getsketch(messageback)==NULL) && (liqcell_getsketch(oneedit)!=NULL) ) liqcell_setsketch( messageback, liqcell_getsketch(oneedit) ); if( liqcell_getsketch(messageback) ) { liqsketch_boundwholearea( liqcell_getsketch(messageback) ); } liqcell_release(oneedit); } return 0; }
int desktopmanage_live_tickone(liqcell *desktopmanage,char *name) { liqapp_log("desktopmanage: updating ticks"); liqcell *list1 = liqcell_child_lookup( desktopmanage,"list1"); //############################# backplane:picturebox liqcell *backplane =liqcell_child_lookup( list1,"backplane"); //############################# listitem:picturebox liqcell *listitem = liqcell_getlinkchild_visual(backplane); while(listitem) { //if(liqcell_getflagvisual(listitem)) { char *key=listitem->name; liqcell *listitemlive = liqcell_child_lookup( listitem,"listitemlive"); if( (strcasecmp(key,name)==0) ) { liqcell_setcaption(listitemlive,"Y"); liqcell_propsets( listitemlive, "textcolor", "rgb(0,255,,0)" ); } } listitem=liqcell_getlinknext_visual(listitem); } }
/** * sheepdrawing_pictureselect.cmdselect clicked */ static int cmdselect_click(liqcell *self,liqcelleventargs *args, liqcell *sheepdrawing_pictureselect) { // we are done here. liqcell *sheepdrawing_picturegrid = liqcell_child_lookup(sheepdrawing_pictureselect, "sheepdrawing_picturegrid"); //########## major sideways hack. classes need declarations and header files. int sheepdrawing_picturegrid_getselectedphoto_filename(liqcell *self,char *buffer,int bufferlen); char selfn[FILENAME_MAX]={0}; sheepdrawing_picturegrid_getselectedphoto_filename(sheepdrawing_picturegrid,selfn,sizeof(selfn) ); //liqapp_log("selimg a %s",selfn); //char *selfn=liqcell_propgets( oneedit, "imagefilenameselected",NULL ); if( selfn && *selfn ) { liqapp_log("selimg got sel %s",selfn); liqcell_propsets( sheepdrawing_pictureselect, "imagefilenameselected", selfn ); } // liqcell_setvisible(sheepdrawing_pictureselect,0); liqcell_propseti(sheepdrawing_pictureselect,"dialog_running",0); return 0; }
/** * Create a titlebar ui component * @param key Name of the widget * @param title Title to display * @param description Describe what this titlebar is for * @return liqcell* The new titlebar */ liqcell *uititlebar_create(const char *key, const char *title, const char *description) { liqcell *self = liqcell_quickcreatewidget(key,"section", 800,100); if(self) { liqcell_propsets( self, "backcolor", "rgb(0,0,0)" ); //texturestrip_blu.jpg liqcell_setimage( self, liqimage_cache_getfile( "/usr/share/liqbase/libliqbase/media/texturestrip_dark.jpg",0,0,0) ); liqcell_propseti(self,"lockaspect",0); //liqcell_propsets( self, "backcolor", "xrgb(0,0,64)" ); liqcell_child_append( self, liqcell_quickcreatevis("app_icon", "icon", 5 ,10 , 90, 80 ) ); liqcell_child_append( self, liqcell_quickcreatevis("app_title", "label", 100 ,0 , 700, 55 ) ); liqcell_child_append( self, liqcell_quickcreatevis("app_desc", "label", 100 ,55 , 700, 40 ) ); liqcell_setimage( liqcell_child_lookup( self,"app_icon"), liqimage_cache_getfile( "/usr/share/liqbase/libliqbase/media/sun.png",0,0,1) ); liqcell_setfont( liqcell_child_lookup( self,"app_title"), liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (40), 0) ); liqcell_setfont( liqcell_child_lookup( self,"app_desc"), liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (18), 0) ); liqcell_propsets( liqcell_child_lookup( self,"app_title"), "textcolor", "rgb(255,255,255)" ); liqcell_propsets( liqcell_child_lookup( self,"app_desc"), "textcolor", "rgb(0,100,0)" ); liqcell_setcaption(liqcell_child_lookup( self,"app_title"), title ); liqcell_setcaption(liqcell_child_lookup( self,"app_desc"), description ); /* liqcell *clock = liqcell_quickcreatevis("clock", "time", 500,0, 200,100 ); //char buf[80]; //liqapp_format_strftime(buf,80,"%H:%M:%S"); //liqcell_setcaption( clock, buf); liqcell_propsets( clock,"timeformat","%H:%M:%S"); liqcell_propseti( clock,"textalign",2); liqcell_propseti( clock,"textaligny",2); liqcell_propsets( clock,"fontname", "/usr/share/fonts/nokia/nosnb.ttf" ); liqcell_propseti( clock,"fontsize", 32 ); liqcell_propsets( clock, "textcolor", "rgb(255,255,255)" ); // liqcell_handleradd(self, "mouse", widget_mouse); liqcell_child_append( self, clock ); */ } return self; }
int desktopmanage_updateticks(liqcell *desktopmanage) { liqapp_log("desktopmanage: updating ticks"); desktopmanage_live_untickall(desktopmanage); char *liveback = liqapp_pref_getvalue("liveback"); if(liveback && *liveback) { desktopmanage_live_tickone(desktopmanage,liveback); } liqcell *list1 = liqcell_child_lookup( desktopmanage,"list1"); //############################# backplane:picturebox liqcell *backplane =liqcell_child_lookup( list1,"backplane"); //############################# listitem:picturebox liqcell *listitem = liqcell_getlinkchild_visual(backplane); while(listitem) { //if(liqcell_getflagvisual(listitem)) { char *key=listitem->name; liqcell *listitemicon = liqcell_child_lookup( listitem,"listitemtick"); char *cap = liqcell_getcaption(listitemicon); if( !liqbase_playground_check_if_class_shown(key) ) { liqcell_setcaption(listitemicon,"N"); liqcell_propsets( listitemicon, "textcolor", "rgb(255,0,0)" ); } else { //liqapp_log("desktopmanage: tick yes '%s'",key); liqcell_setcaption(listitemicon,"Y"); liqcell_propsets( listitemicon, "textcolor", "rgb(0,255,0)" ); } } listitem=liqcell_getlinknext_visual(listitem); } liqapp_log("desktopmanage: updated ticks"); }
/** * listitemtick was clicked */ static int listitemtick_click(liqcell *self,liqcellclickeventargs *args, void *context) { // code required // 20090421_191821 lcuk : switch between yes and no, eventually make into icons char *cap = liqcell_getcaption(self); if( (strcasecmp(cap,"Y")==0) ) { liqcell_setcaption(self,"N"); liqcell_propsets( self, "textcolor", "rgb(255,0,0)" ); } else { liqcell_setcaption(self,"Y"); liqcell_propsets( self, "textcolor", "rgb(0,255,0)" ); } return 1; }
/** * create a new liqtasks_new widget */ liqcell *liqtasks_new_create() { liqcell *self = liqcell_quickcreatewidget("liqtasks_new", "form", 800, 480); if(!self) {liqapp_log("liqcell error not create 'liqtasks_new'"); return NULL; } // Optimization: The aim is to REDUCE the number of drawn layers and operations called. // Optimization: use only what you NEED to get an effect // Optimization: Minimal layers and complexity // Optimization: defaults: background, prefer nothing, will be shown through if there is a wallpaper // Optimization: defaults: text, white, very fast rendering //############################# editor:label liqcell *editor = liqcell_quickcreatevis("editor", "label", 0, 0, 800, 480); liqcell_setfont( editor, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (12), 0) ); liqcell_setcaption(editor, "backplane" ); liqcell_propsets( editor, "textcolor", "rgb(255,0,0)" ); liqcell_propsets( editor, "backcolor", "rgb(64,64,64)" ); liqcell_propseti( editor, "textalign", 2 ); liqcell_propseti( editor, "textaligny", 2 ); liqcell_child_append( self, editor); //############################# title:label liqcell *title = liqcell_quickcreatevis("title", "label", 0, 0, 800, 52); liqcell_setfont( title, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) ); liqcell_setcaption(title, "New Task" ); liqcell_propsets( title, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( title, "backcolor", "xrgb(128,128,128)" ); liqcell_propseti( title, "textalign", 0 ); liqcell_propseti( title, "textaligny", 0 ); liqcell_child_append( self, title); //############################# cmdsave:label liqcell *cmdsave = liqcell_quickcreatevis("cmdsave", "label", 594, 432, 206, 48); liqcell_setfont( cmdsave, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) ); liqcell_setcaption(cmdsave, "Save" ); liqcell_propsets( cmdsave, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( cmdsave, "backcolor", "xrgb(0,64,0)" ); liqcell_propsets( cmdsave, "bordercolor", "rgb(255,255,255)" ); liqcell_propseti( cmdsave, "textalign", 2 ); liqcell_propseti( cmdsave, "textaligny", 2 ); liqcell_handleradd_withcontext(cmdsave, "click", (void*)cmdsave_click, self ); liqcell_child_append( self, cmdsave); //liqcell_propsets( self, "backcolor", "rgb(0,0,0)" ); //liqcell_setimage( self , liqimage_cache_getfile( "/usr/share/liqbase/liqtasks/media/liqtasks_new_back.png",0,0,0) ); liqcell_handleradd_withcontext(self, "filter", (void*)liqtasks_new_filter ,self); liqcell_handleradd_withcontext(self, "refresh", (void*)liqtasks_new_refresh ,self); liqcell_handleradd_withcontext(self, "shown", (void*)liqtasks_new_shown ,self); liqcell_handleradd_withcontext(self, "resize", (void*)liqtasks_new_resize ,self); liqcell_handleradd_withcontext(self, "layout", (void*)liqtasks_new_layout ,self); //liqcell_handleradd_withcontext(self, "keypress", (void*)liqtasks_new_keypress,self ); //liqcell_handleradd_withcontext(self, "keyrelease", (void*)liqtasks_new_keyrelease ,self); //liqcell_handleradd_withcontext(self, "mouse", (void*)liqtasks_new_mouse,self ); //liqcell_handleradd_withcontext(self, "click", (void*)liqtasks_new_click ,self); //liqcell_handleradd_withcontext(self, "paint", (void*)liqtasks_new_paint ,self); // use only if required, heavyweight liqcell_handleradd_withcontext(self, "dialog_open", (void*)liqtasks_new_dialog_open ,self); liqcell_handleradd_withcontext(self, "dialog_close", (void*)liqtasks_new_dialog_close ,self); return self; }
/** * invar.refresh */ static int invar_refresh(liqcell *self,liqcellclickeventargs *args, liqcell *liqcam) { liqcell *datamap = liqcell_child_lookup(self, "datamap"); char *t = liqapp_pref_getvalue_def("invar_surface", "/usr/share/liqbase/invar/media/invar_config.imgsurface.png"); if(t && *t) liqcell_propsets( datamap, "imagefilename", t ); liqcell_setimage(datamap,NULL); liqcell_setdirty(self,1); // return 0; }
static liqcell *quickdialog_create() { liqcell *self = liqcell_quickcreatewidget("editoverlay","edit", 800,480); if(self) { liqcell *c; c = liqcell_quickcreatevis("sketching", "picture", 0,0, 800,480 ); liqcell_propseti(c,"lockaspect",1); liqcell_propsets(c,"imagefilename","media/lcuk_sig_headshot.png"); //liqcell_handleradd(c, "mouse", widget_mouse); //liqcell_handleradd(c, "click", edit_click); liqcell_child_append( self, c ); } return self; }
/** * uipicturebox clicked */ static int uipicturebox_click(liqcell *self,liqcellclickeventargs *args, liqcell *uipicturebox) { liqcell *dialog = liqcell_quickcreatevis("dialog1", "dialog_selectimage", 0,0, -1,-1); liqcell_easyrun(dialog); char *sel=liqcell_propgets( dialog, "imagefilenameselected",NULL ); if( sel && *sel ) { // do whatever is needed liqcell_setimage( self, NULL ); liqcell_propsets( self, "imagefilename", sel ); liqcell_handlerrun(uipicturebox,"refresh",NULL); } liqcell_release(dialog); return 0; }
/** * liqpostcard.cmdpicchoose clicked */ static int cmdpicchoose_click(liqcell *self,liqcelleventargs *args, liqcell *liqpostcard) { // liqcell *picfront = liqcell_child_lookup(liqpostcard, "picfront"); liqcell * oneedit = liqcell_quickcreatevis("liqpostcard.choose","dialog_selectimage",0,0,-1,-1); if(oneedit) { // copy the sketch and background image to the editor //liqcell_setsketch( oneedit, liqcell_getsketch(messageback) ); //liqcell_setimage( oneedit, liqcell_getimage(messageback) ); //liqcell_propsets( oneedit, "imagefilenameselected", ); //int liqrecentphotos_setselectedphoto_filename(liqcell *self,char *buffer,int bufferlen); liqcell_easyrun(oneedit); //liqapp_log("eep?"); char *selfn=liqcell_propgets( oneedit, "imagefilenameselected",NULL ); //liqapp_log("hmm %s",selfn); if( selfn && *selfn ) { liqcell_setimage( picfront,NULL ); //liqapp_log("hmm2 %s",selfn); liqcell_propsets( picfront, "imagefilename", selfn ); } liqcell_release(oneedit); liqcell_setdirty(self,1); } return 0; }
static int liqrecentsketches_edit_click(liqcell *self, liqcellclickeventargs *args, liqcell *liqrecentsketches) { if(current_selection) { char *fn = liqcell_propgets(current_selection,"sketchfilename",NULL); if(fn && *fn) { // do edit action, ala liqcalendar liqcell *editor = liqcell_quickcreatevis("editor", "liqsketchedit", 0,0 , 800, 480); liqcell_propsets(editor,"sketchfilename",fn); //liqcell_propsets(editor,"sketcheditfilename",fn); liqcell_easyrun(editor); liqcell_release(editor); } } //args->newdialogtoopen = liqcell_hold( self );//liqcell_child_lookup( self, "body" ); return 1; }
/** * create a new nokiapicture widget */ liqcell *nokiapicture_create() { liqcell *self = liqcell_quickcreatewidget("nokiapicture", "form", 130, 24); if(!self) {liqapp_log("liqcell error not create 'nokiapicture'"); return NULL; } // Optimization: The aim is to REDUCE the number of drawn layers and operations called. // Optimization: use only what you NEED to get an effect // Optimization: Minimal layers and complexity // Optimization: defaults: background, prefer nothing, will be shown through if there is a wallpaper // Optimization: defaults: text, white, very fast rendering /* //############################# picnokia:label liqcell *picnokia = liqcell_quickcreatevis("picnokia", "label", 0, 0, 132, 24); liqcell_setfont( picnokia, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (10), 0) ); liqcell_setcaption(picnokia, "Nokia" ); liqcell_propsets( picnokia, "textcolor", "rgb(192,192,192)" ); liqcell_propsets( picnokia, "backcolor", "rgb(64,64,64)" ); liqcell_propseti( picnokia, "textalign", 2 ); liqcell_child_append( self, picnokia); */ liqcell_propsets( self, "imagefilename", "/usr/share/liqbase/onedotzero/media/2_nokia.png" ); liqcell_propseti( self, "autosize", 1 ); //liqcell_propsets( self, "backcolor", "rgb(235,233,237)" ); liqcell_handleradd_withcontext(self, "refresh", nokiapicture_refresh ,self); liqcell_handleradd_withcontext(self, "shown", nokiapicture_shown ,self); //liqcell_handleradd_withcontext(self, "resize", nokiapicture_resize ,self); //liqcell_handleradd_withcontext(self, "keypress", nokiapicture_keypress,self ); //liqcell_handleradd_withcontext(self, "keyrelease", nokiapicture_keyrelease ,self); //liqcell_handleradd_withcontext(self, "mouse", nokiapicture_mouse,self ); //liqcell_handleradd_withcontext(self, "click", nokiapicture_click ,self); //liqcell_handleradd_withcontext(self, "paint", nokiapicture_paint ,self); // use only if required, heavyweight liqcell_handleradd_withcontext(self, "dialog_open", nokiapicture_dialog_open ,self); liqcell_handleradd_withcontext(self, "dialog_close", nokiapicture_dialog_close ,self); // Mon Sep 07 12:09:53 2009 lcuk : remove for now, karsten change request liqcell_setvisible(self,0); return self; }
static int widget_shown(liqcell *self,liqcelleventargs *args, liqcell *context) { liqcell *backplane = liqcell_child_lookup( self,"backplane"); liqcell *body = liqcell_child_lookup( backplane,"body"); liqcell *timer1 = liqcell_child_lookup( self,"timer1"); char buf[FILENAME_MAX]; snprintf(buf,sizeof(buf),"%s/sketches",app.userdatapath); if(liqapp_pathexists(buf)) { liqcell_propsets( self, "monitorpath" , buf); liqcell_scan_folder_for_images(self,buf); liqcell_setenabled(timer1,1); liqcell_setpos(body,0,-(body->h-backplane->h)); } return 0; }
/** * create a new liqtorch_run widget */ liqcell *liqtorch_run_create() { liqcell *self = liqcell_quickcreatewidget("liqtorch_run", "form", 800, 480); if(!self) {liqapp_log("liqcell error not create 'liqtorch_run'"); return NULL; } // Optimization: The aim is to REDUCE the number of drawn layers and operations called. // Optimization: use only what you NEED to get an effect // Optimization: Minimal layers and complexity // Optimization: defaults: background, prefer nothing, will be shown through if there is a wallpaper // Optimization: defaults: text, white, very fast rendering liqcell_propsets( self, "backcolor", "rgb(255,255,255)" ); liqcell_handleradd_withcontext(self, "refresh", liqtorch_run_refresh ,self); liqcell_handleradd_withcontext(self, "shown", liqtorch_run_shown ,self); liqcell_handleradd_withcontext(self, "resize", liqtorch_run_resize ,self); liqcell_handleradd_withcontext(self, "keypress", liqtorch_run_keypress,self ); liqcell_handleradd_withcontext(self, "keyrelease", liqtorch_run_keyrelease ,self); liqcell_handleradd_withcontext(self, "mouse", liqtorch_run_mouse,self ); liqcell_handleradd_withcontext(self, "click", liqtorch_run_click ,self); //liqcell_handleradd_withcontext(self, "paint", liqtorch_run_paint ,self); // use only if required, heavyweight liqcell_handleradd_withcontext(self, "dialog_open", liqtorch_run_dialog_open ,self); liqcell_handleradd_withcontext(self, "dialog_close", liqtorch_run_dialog_close ,self); return self; }
/** Construct a simplebar */ liqcell *simplebar_create() { liqcell *self = liqcell_quickcreatewidget("simplebar", "form", 600, 50); // exit if fail create if(!self) { liqapp_log("liqcell error not create 'simplebar'"); return NULL; } // create label liqcell *simple_label = liqcell_quickcreatevis("simple_label", "label", 20, 7, 200, 36); liqcell_setfont(simple_label, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (22), 0)); liqcell_setcaption(simple_label, "Body Caption:"); liqcell_propsets(simple_label, "textcolor", GREEN); liqcell_propseti(simple_label, "textalign", 1); liqcell_child_append(self, simple_label); // create textbox liqcell *simple_textbox = liqcell_quickcreatevis("simple_textbox", "textbox", 220, 7, 200, 36); liqcell_setfont(simple_textbox, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (22), 0) ); liqcell_setcaption(simple_textbox, ""); liqcell_propsets(simple_textbox, "textcolor", WHITE); liqcell_propsets(simple_textbox, "backcolor", BLACK); liqcell_propsets(simple_textbox, "bordercolor", GREEN); liqcell_propseti(simple_textbox, "textalign", 0); liqcell_propseti(simple_textbox, "textaligny", 2); liqcell_child_append(self, simple_textbox); // create buttom: Submit liqcell *simple_submit = liqcell_quickcreatevis("simple_submit", "commandbutton", 460, 7, 76, 32); liqcell_setfont(simple_submit, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (22), 0) ); liqcell_setcaption(simple_submit, "Submit"); liqcell_propsets(simple_submit, "textcolor", GREEN); liqcell_propsets(simple_submit, "backcolor", BLACK); liqcell_handleradd_withcontext(simple_submit, "click", simplebar_submit_click, self); liqcell_propseti(simple_submit, "textalign", 1); liqcell_child_append(self, simple_submit); return self; }
/** * uienumbox_node_setformat * set the display formatting for this item - whether selected or not */ static int uienumbox_node_setformat(liqcell *node,int isselected) { if(isselected) { liqcell_setfont( node, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (32), 0) ); liqcell_propsets( node, "backcolor", "rgb(220,220,255)" ); liqcell_propsets( node, "textcolor", "rgb(0,0,0)" ); liqcell_propsets( node, "bordercolor", "rgb(255,255,255)" ); liqcell_setselected(node, 1); } else { liqcell_setfont( node, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (24), 0) ); liqcell_propsets( node, "backcolor", "rgb(200,200,205)" ); liqcell_propsets( node, "textcolor", "rgb(30,30,30)" ); liqcell_propsets( node, "bordercolor", "rgb(128,128,128)" ); liqcell_setselected(node, 0); } return 0; }
/** * create a new liqpostcard widget */ liqcell *liqpostcard_create() { liqcell *self = liqcell_quickcreatewidget("liqpostcard", "form", 800, 480); if(!self) {liqapp_log("liqcell error not create 'liqpostcard'"); return NULL; } // Optimization: The aim is to REDUCE the number of drawn layers and operations called. // Optimization: use only what you NEED to get an effect // Optimization: Minimal layers and complexity // Optimization: defaults: background, prefer nothing, will be shown through if there is a wallpaper // Optimization: defaults: text, white, very fast rendering //############################# tweetmessage:textbox liqcell *tweetmessage = liqcell_quickcreatevis("tweetmessage", "textbox", 56, 424, 502, 50); liqcell_setfont( tweetmessage, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (32), 0) ); liqcell_setcaption(tweetmessage, "" ); liqcell_propsets( tweetmessage, "textcolor", "rgb(0,0,0)" ); liqcell_propsets( tweetmessage, "backcolor", "rgb(255,255,255)" ); liqcell_propsets( tweetmessage, "bordercolor", "rgb(200,100,100)" ); liqcell_propseti( tweetmessage, "textalign", 0 ); liqcell_child_append( self, tweetmessage); //############################# picfront:picturebox liqcell *picfront = liqcell_quickcreatevis("picfront", "picturebox", 20, 112, 368, 186); //liqcell_setfont( picfront, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (12), 0) ); //liqcell_propsets( picfront, "textcolor", "rgb(0,0,0)" ); //liqcell_propsets( picfront, "backcolor", "rgb(64,0,0)" ); liqcell_propsets( picfront, "bordercolor", "rgb(200,100,100)" ); liqcell_handleradd_withcontext(picfront, "click", cmdpicchoose_click, self ); liqcell_child_append( self, picfront); //############################# messageback:picturebox liqcell *messageback = liqcell_quickcreatevis("messageback", "picturebox", 418, 112, 368, 186); //liqcell_setfont( messageback, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (12), 0) ); liqcell_propsets( messageback, "imagefilename", "/usr/share/liqbase/liqpostcard/media/liqpostcard_template.png" ); //liqcell_propsets( messageback, "textcolor", "rgb(0,0,0)" ); //liqcell_propsets( messageback, "backcolor", "rgb(64,0,0)" ); liqcell_propsets( messageback, "bordercolor", "rgb(200,100,100)" ); liqcell_handleradd_withcontext(messageback, "click", cmdmessagedraw_click, self ); liqcell_child_append( self, messageback); /* //############################# cmdmessagewrite:label liqcell *cmdmessagewrite = liqcell_quickcreatevis("cmdmessagewrite", "label", 418, 300, 176, 52); liqcell_setfont( cmdmessagewrite, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) ); liqcell_setcaption(cmdmessagewrite, "Write" ); liqcell_propsets( cmdmessagewrite, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( cmdmessagewrite, "backcolor", "xrgb(0,0,64)" ); liqcell_propsets( cmdmessagewrite, "bordercolor", "rgb(255,255,255)" ); liqcell_propseti( cmdmessagewrite, "textalign", 2 ); liqcell_handleradd_withcontext(cmdmessagewrite, "click", cmdmessagewrite_click, self ); liqcell_child_append( self, cmdmessagewrite); */ //############################# label5:label liqcell *label5 = liqcell_quickcreatevis("label5", "label", 56, 390, 368, 32); liqcell_setfont( label5, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (22), 0) ); liqcell_setcaption(label5, "Message" ); liqcell_propsets( label5, "textcolor", "rgb(255,255,255)" ); //liqcell_propsets( label5, "backcolor", "xrgb(0,64,64)" ); liqcell_propseti( label5, "textalign", 0 ); liqcell_child_append( self, label5); //############################# cmdmessagedraw:label liqcell *cmdmessagedraw = liqcell_quickcreatevis("cmdmessagedraw", "label", 514, 300, 176, 52); liqcell_setfont( cmdmessagedraw, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) ); liqcell_setcaption(cmdmessagedraw, "Draw" ); liqcell_propsets( cmdmessagedraw, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( cmdmessagedraw, "backcolor", "xrgb(0,0,64)" ); liqcell_propsets( cmdmessagedraw, "bordercolor", "rgb(255,255,255)" ); liqcell_propseti( cmdmessagedraw, "textalign", 2 ); liqcell_propseti( cmdmessagedraw, "textaligny", 2 ); liqcell_handleradd_withcontext(cmdmessagedraw, "click", cmdmessagedraw_click, self ); liqcell_child_append( self, cmdmessagedraw); //############################# cmdpicchoose:label liqcell *cmdpicchoose = liqcell_quickcreatevis("cmdpicchoose", "label", 112, 300, 176, 52); liqcell_setfont( cmdpicchoose, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) ); liqcell_setcaption(cmdpicchoose, "Choose" ); liqcell_propsets( cmdpicchoose, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( cmdpicchoose, "backcolor", "xrgb(0,0,64)" ); liqcell_propsets( cmdpicchoose, "bordercolor", "rgb(255,255,255)" ); liqcell_propseti( cmdpicchoose, "textalign", 2 ); liqcell_propseti( cmdpicchoose, "textaligny", 2 ); liqcell_handleradd_withcontext(cmdpicchoose, "click", cmdpicchoose_click, self ); liqcell_child_append( self, cmdpicchoose); //############################# cmdsend:label liqcell *cmdsend = liqcell_quickcreatevis("cmdsend", "label", 574, 418, 226, 62); liqcell_setfont( cmdsend, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) ); liqcell_setcaption(cmdsend, "Send" ); liqcell_propsets( cmdsend, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( cmdsend, "backcolor", "xrgb(0,64,0)" ); liqcell_propsets( cmdsend, "bordercolor", "rgb(255,255,255)" ); liqcell_propseti( cmdsend, "textalign", 2 ); liqcell_propseti( cmdsend, "textaligny", 2 ); liqcell_setenabled( cmdsend, 0 ); liqcell_handleradd_withcontext(cmdsend, "click", cmdsend_click, self ); liqcell_child_append( self, cmdsend); //############################# pichead:label liqcell *pichead = liqcell_quickcreatevis("pichead", "label", 20, 74, 368, 36); liqcell_setfont( pichead, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (22), 0) ); liqcell_setcaption(pichead, "Picture" ); liqcell_propsets( pichead, "textcolor", "rgb(255,255,255)" ); //liqcell_propsets( pichead, "backcolor", "xrgb(0,64,64)" ); liqcell_propseti( pichead, "textalign", 0 ); liqcell_child_append( self, pichead); //############################# messagehead:label liqcell *messagehead = liqcell_quickcreatevis("messagehead", "label", 418, 74, 368, 36); liqcell_setfont( messagehead, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (22), 0) ); liqcell_setcaption(messagehead, "Sketch" ); liqcell_propsets( messagehead, "textcolor", "rgb(255,255,255)" ); //liqcell_propsets( messagehead, "backcolor", "xrgb(0,64,64)" ); liqcell_propseti( messagehead, "textalign", 0 ); liqcell_child_append( self, messagehead); //############################# title:label liqcell *title = liqcell_quickcreatevis("title", "label", 0, 0, 800, 56); liqcell_setfont( title, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) ); liqcell_setcaption(title, "postcard :: say hello." ); liqcell_propsets( title, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( title, "backcolor", "xrgb(0,0,0)" ); liqcell_propseti( title, "textalign", 0 ); liqcell_child_append( self, title); //liqcell_propsets( self, "backcolor", "rgb(0,0,0)" ); liqcell_handleradd_withcontext(self, "refresh", liqpostcard_refresh ,self); liqcell_handleradd_withcontext(self, "shown", liqpostcard_shown ,self); liqcell_handleradd_withcontext(self, "resize", liqpostcard_resize ,self); liqcell_handleradd_withcontext(self, "keypress", liqpostcard_keypress,self ); liqcell_handleradd_withcontext(self, "keyrelease", liqpostcard_keyrelease ,self); liqcell_handleradd_withcontext(self, "mouse", liqpostcard_mouse,self ); liqcell_handleradd_withcontext(self, "click", liqpostcard_click ,self); //liqcell_handleradd_withcontext(self, "paint", liqpostcard_paint ,self); // use only if required, heavyweight liqcell_handleradd_withcontext(self, "dialog_open", liqpostcard_dialog_open ,self); liqcell_handleradd_withcontext(self, "dialog_close", liqpostcard_dialog_close ,self); //############################# cmdconfigure:label liqcell *cmdconfigure = liqcell_quickcreatevis("cmdconfigure", "label", 508, 0, 226, 56); liqcell_setfont( cmdconfigure, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) ); liqcell_setcaption(cmdconfigure, "configure" ); liqcell_propsets( cmdconfigure, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( cmdconfigure, "backcolor", "xrgb(0,64,0)" ); liqcell_propsets( cmdconfigure, "bordercolor", "rgb(255,255,255)" ); liqcell_propseti( cmdconfigure, "textalign", 2 ); liqcell_propseti( cmdconfigure, "textaligny", 2 ); liqcell_handleradd_withcontext(cmdconfigure, "click", cmdconfigure_click, self ); liqcell_child_append( self, cmdconfigure); //########## major sideways hack. classes need declarations and header files. int dialog_selectimage_getfirstphoto_filename(liqcell *self,char *buffer,int bufferlen); char selfn[FILENAME_MAX]={0}; liqcell *dialog_selectimage = liqcell_quickcreatevis("liqpostcard.choose","dialog_selectimage",0,0,-1,-1); dialog_selectimage_getfirstphoto_filename(dialog_selectimage,selfn,sizeof(selfn) ); if(selfn && *selfn) { liqcell_propsets( picfront, "imagefilename", selfn ); } liqcell_release(dialog_selectimage); liqcell_handlerrun(self,"refresh",NULL); return self; }
static int liqcell_scan_folder_for_images(liqcell *self,char *path) { char *widgetpath = path; DIR * dir_p; struct dirent * dir_entry_p; char fn[FILENAME_MAX+1]; char * ft; dir_p = opendir( widgetpath ); if(!dir_p) { liqapp_log("liqcell_scan_folder_for_images opendir failed: '%s'",widgetpath); return self; // heh thanks kot :) } while( NULL != (dir_entry_p = readdir(dir_p))) { if( dir_entry_p->d_name[0]=='.' ) continue; ft=dir_entry_p->d_name; snprintf(fn , FILENAME_MAX , "%s/%s", widgetpath , ft); struct stat statbuf; if(stat(fn, &statbuf) == -1) { liqapp_log("liqcell_scan_folder_for_images stat failed: '%s'",fn); return self; } // got the information we need if ( S_ISREG(statbuf.st_mode) ) { char *ext=liqapp_filename_walktoextension(ft); if(!ext || !*ext) { // nothing to see here.. } else if( strcasecmp(ext,"png")==0 || strcasecmp(ext,"jpg")==0 || strcasecmp(ext,"jpeg")==0 ) { liqcell *c = liqcell_quickcreatevis(ft, "picture", 1,1,1,1 ); liqcell_propseti(c,"lockaspect",1); liqcell_propsets(c,"imagefilename",fn); //liqcell_handleradd(c, "mouse", widget_mouse); liqcell_handleradd(c, "click", widget_click); liqcell_child_insertsorted( self, c ); } } } closedir(dir_p); }
/** * create a new sheepdrawing_pictureselect widget */ liqcell *sheepdrawing_pictureselect_create() { liqcell *self = liqcell_quickcreatewidget("sheepdrawing_pictureselect", "form", 800, 480); if(!self) {liqapp_log("liqcell error not create 'sheepdrawing_pictureselect'"); return NULL; } // Optimization: The aim is to REDUCE the number of drawn layers and operations called. // Optimization: use only what you NEED to get an effect // Optimization: Minimal layers and complexity // Optimization: defaults: background, prefer nothing, will be shown through if there is a wallpaper // Optimization: defaults: text, white, very fast rendering //############################# title:label liqcell *title = liqcell_quickcreatevis("title", "label", 0, 0, 800, 56); liqcell_setfont( title, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) ); liqcell_setcaption(title, "select image" ); liqcell_propsets( title, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( title, "backcolor", "xrgb(0,0,0)" ); liqcell_propseti( title, "textalign", 0 ); liqcell_child_append( self, title); //############################# sheepdrawing_picturegrid:liqrecentphotos liqcell *sheepdrawing_picturegrid = liqcell_quickcreatevis("sheepdrawing_picturegrid", "sheepdrawing_picturegrid", 0, 58, 800, 420); liqcell_child_append( self, sheepdrawing_picturegrid); //############################# cmdselect:commandbutton liqcell *cmdselect = liqcell_quickcreatevis("cmdselect", "commandbutton", 580, 420, 220, 60); liqcell_setfont( cmdselect, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) ); liqcell_setcaption(cmdselect, "Select" ); liqcell_propsets( cmdselect, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( cmdselect, "backcolor", "xrgb(0,64,0)" ); liqcell_propsets( cmdselect, "bordercolor", "rgb(255,255,255)" ); liqcell_propseti( cmdselect, "textalign", 2 ); liqcell_handleradd_withcontext(cmdselect, "click", cmdselect_click, self ); //liqcell_setenabled(cmdselect,0); liqcell_child_append( self, cmdselect); liqcell *search = liqcell_quickcreatevis("search","textbox",200 ,self->h-40, 350, 60); liqcell_setfont( search, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (32), 0) ); liqcell_setcaption(search, "" ); liqcell_propsets( search, "textcolor", "rgb(255,255,255)" ); liqcell_propsets( search, "backcolor", "xrgb(100,140,100)" ); liqcell_handleradd_withcontext( search, "click", search_click, self ); liqcell_handleradd_withcontext( search, "captionchange", search_change, self ); liqcell_setvisible(search,0); // watch this! liqcell_child_append( self, search ); //liqcell_handleradd_withcontext(body, "keypress", sheepdrawing_pictureselect_keypress, self); //liqcell_handleradd_withcontext(body, "keyrelease", sheepdrawing_pictureselect_keyrelease,self); liqcell_handleradd_withcontext(self, "keypress", sheepdrawing_pictureselect_keypress, self); liqcell_handleradd_withcontext(self, "keyrelease", sheepdrawing_pictureselect_keyrelease,self); liqcell_handleradd_withcontext(self, "paint", sheepdrawing_pictureselect_paint, self); //liqcell_propsets( self, "backcolor", "rgb(0,0,0)" ); liqcell_handleradd_withcontext(self, "refresh", sheepdrawing_pictureselect_refresh ,self); liqcell_handleradd_withcontext(self, "shown", sheepdrawing_pictureselect_shown ,self); liqcell_handleradd_withcontext(self, "resize", sheepdrawing_pictureselect_resize ,self); //liqcell_handleradd_withcontext(self, "keypress", sheepdrawing_pictureselect_keypress,self ); //liqcell_handleradd_withcontext(self, "keyrelease", sheepdrawing_pictureselect_keyrelease ,self); liqcell_handleradd_withcontext(self, "mouse", sheepdrawing_pictureselect_mouse,self ); liqcell_handleradd_withcontext(self, "click", sheepdrawing_pictureselect_click ,self); //liqcell_handleradd_withcontext(self, "paint", sheepdrawing_pictureselect_paint ,self); // use only if required, heavyweight liqcell_handleradd_withcontext(self, "dialog_open", sheepdrawing_pictureselect_dialog_open ,self); liqcell_handleradd_withcontext(self, "dialog_close", sheepdrawing_pictureselect_dialog_close ,self); return self; }