Example #1
0
/**
 * 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;
}
Example #2
0
/** 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;
}
Example #3
0
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;
}
Example #4
0
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;
}
/**	
 * 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;
}
Example #6
0
/**	
 * liqui_cmdaccept clicked
 */	
static int liqui_cmdaccept_click(liqcell *self,liqcellclickeventargs *args, liqcell *liqui)
{

    liqcell_propseti(liqui,"dialog_running",0);

	return 0;
}
Example #7
0
	static liqcell *uititlebar_create(char *key,char *title,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( "../media/texturestrip_dark.jpg",0,0,0) );
			
			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( "../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",   600,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_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;
	}
Example #8
0
	static int timer_tick(liqcell *self, liqcellmouseeventargs *args, void *context)
	{
		liqcell_propseti(self,"timerinterval", 32767 );
		liqcell_setenabled(self,0);
		// now, run the channel? :D
		liqaccelview_runchannel((liqcell*)self->tag);
		
		return 0;
	}
static int timer_tick(liqcell *self, liqcellmouseeventargs *args, liqcell *context)
{
	liqcell_propseti(self,"timerinterval", 32767 );
	liqcell_setenabled(self,0);
	// now, run the channel? :D
	//liqfilemonitor_run((liqcell*)self->tag);
	monitor_run(context);
	
	return 0;
}
Example #10
0
/**	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;
}
Example #11
0
/**	
 * liqcalc_run paint - being rendered.  use the vgraph held in args to do custom drawing at scale
 */	
static int liqcalc_run_paint(liqcell *self, liqcellpainteventargs *args,liqcell *liqcalc_run)
{
	// big heavy event, use sparingly
	liqcell *solarcell = liqcell_child_lookup(liqcalc_run, "solarcell");
	liqcell *calclcd = liqcell_child_lookup(liqcalc_run, "calclcd");
	if( liqcell_easyrun_getactivecontrol() == solarcell && liqcell_easyrun_fingerpressed)
	{
		
		// fade the text..
		int solarbrightness = liqcell_propgeti(calclcd,"solarbrightness",255);
		liqapp_log("solar -- %d",solarbrightness);
		if(solarbrightness>0)
		{
			
			solarbrightness-=4;
			if(solarbrightness<0)solarbrightness=0;
			if(solarbrightness>255)solarbrightness=255;
			liqcell_propsets_printf(calclcd,"backcolor","rgb(%d,%d,%d)",solarbrightness,solarbrightness,solarbrightness);
			liqcell_propseti(  calclcd, "solarbrightness", solarbrightness );
			liqcell_setdirty(calclcd,1);
		}
	}
	else
	{
		
		int solarbrightness = liqcell_propgeti(calclcd,"solarbrightness",255);
		liqapp_log("solar ++ %d",solarbrightness);
		if(solarbrightness<255)
		{
			
			solarbrightness+=16;
			if(solarbrightness<0)solarbrightness=0;
			if(solarbrightness>255)solarbrightness=255;
			liqcell_propsets_printf(calclcd,"backcolor","rgb(%d,%d,%d)",solarbrightness,solarbrightness,solarbrightness);
			liqcell_propseti(  calclcd, "solarbrightness", solarbrightness );
			liqcell_setdirty(calclcd,1);
		}
		// bring the text back up ;)
	}
	return 0;
}
Example #12
0
/**
 * 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;
}
Example #13
0
int main (int argc, char* argv[])
{
	 if(liqapp_init(	argc,argv ,"myclock" ,"0.0.1") != 0)
	 {
		  { return liqapp_errorandfail(-1,"myclock liqapp_init failed"); }
	 }
	 liqcell *self = liqcell_quickcreatevis("myclock_cover1", "myclock_cover", 0,0, -1,-1);
	 // remove tools button :)
	 liqcell_propseti(self,"easyrun_hidetools",1);
	 liqcell_easyrun_internal(self);
	 liqcell_release(self);
	 liqapp_close();
	 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;
	}
Example #15
0
/**	
 * 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;
}
/**
 * oneconfigure.cmdsave clicked
 */
static int cmdsave_click(liqcell *self,liqcelleventargs *args, liqcell *oneconfigure)
{
    liqcell *twitterusername = liqcell_child_lookup(oneconfigure, "twitterusername");
    liqcell *twitterpassword = liqcell_child_lookup(oneconfigure, "twitterpassword");
    liqcell *scsserver = liqcell_child_lookup(oneconfigure, "scsserver");


    liqapp_pref_setvalue( "scsserver", liqcell_getcaption(scsserver) );
    liqapp_pref_setvalue( "twitname", liqcell_getcaption(twitterusername) );
    liqapp_pref_setvalue( "twitpass", liqcell_getcaption(twitterpassword) );

    liqapp_prefs_save();

    liqcell_propseti(oneconfigure,"dialog_running",0);

    return 0;
}
Example #17
0
static int keyboard_show_button_click(liqcell *self,liqcellclickeventargs *args, liqcell *textbox)
{
	liqcell *vkbd = liqcell_quickcreatevis("vkbd", "liqkeyboard", 0, 0, -1, -1);
	liqcell *vkbd_textbox = liqcell_child_lookup(vkbd, "liqkeyboard_textbox");
	
	if(vkbd)
	{
		// 20090814_203451 lcuk : make sure the * follow into the vkb :)
		liqcell_propseti(vkbd_textbox,"textispassword",  liqcell_propgeti(textbox,"textispassword",0)  );
		
		char *caption = liqcell_getcaption(textbox);
		liqcell_setcaption(vkbd_textbox, caption);
		liqcell_setdata(vkbd, textbox);
		liqcell_easyrun(vkbd);
		liqcell_release(vkbd);
	}
	return 1;
}
Example #18
0
liqcell *liqsketchedit_create(char *name,int l,int t,int w,int h)
{
		
		liqcell *c = liqcell_quickcreatevis(name,  NULL,   l,t,w,h );
		
		liqcell_propseti(c,"sketchediting",1);		// mark it as editing :)
		
			// give us something to draw onto
			liqsketch *s = liqsketch_new();
					s->pixelwidth =liqcell_getw(c);
					s->pixelheight=liqcell_geth(c);
					s->dpix=225;	// damn, dont like using this here
					s->dpiy=225;
			liqcell_setsketch( c, s );
			
			
		liqcell_handleradd(c,    "mouse",   sketchedit_mouse);
	return c;	
}
Example #19
0
liqcell *uitoolitem_create(char *key,char *caption,char *imagefilename,void (*handler)(),void *context)
{

	liqcell *self = liqcell_quickcreatewidget(key,"form", 50,50);

	if(self)
	{
		if(caption && *caption) liqcell_setcaption(   self, caption );
		
		liqcell_setimage(     self ,  liqimage_cache_getfile( imagefilename,0,0,1) );
		
		liqcell_propseti(     self ,  "lockaspect",1);
		
		//liqcell_propsets(     self,	"bordercolor", "rgb(100,0,0)"  );

		
		liqcell_handleradd_withcontext(   self,   "click",   handler, context);
		
	}
	return self;
}
Example #20
0
/**	
 * 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;
}
Example #21
0
liqcell *liqflowsmall_create()
{
	liqcell *self = liqcell_quickcreatewidget("liqflowsmall","form", 800,480);

	if(!self) {liqapp_log("liqcell error not create 'liqflowsmall'"); 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_setimage(  self ,  liqimage_cache_getfile( "/usr/share/liqbase/media/n900_crapback.png",0,0,1) );
    liqcell_propseti(self,"lockaspect",0);



	return self;
}
Example #22
0
liqcell *liqtimer_create()
{
	liqcell *self = liqcell_quickcreatewidget("liqtimer","liqtimer", 0,0);

	if(self)
	{
		
		// todo: should make sure we break out of duldrums if the user enables or disables us
		liqcell_setvisible(self,0);	// not visible in the render window ever
		liqcell_setenabled(self,0);
		liqcell_propseti(self,"timerinterval",100);




				pthread_t 		*tid = (pthread_t *)malloc(sizeof(pthread_t));
				if(!tid)
				{
					liqapp_log("liqtimer, cannot alloc thread");
					return 0;					
				}

				//pthread_t 		tid;
				int tres=thread_createwithpriority(tid,0,liqtimer_workthread,self);
				if(tres)
				{
					liqapp_log("liqtimer, thread create fail");
					free(tid);
					return 0;
				}
				liqcell_setdata(self,tid);
				
				
				//liqcell_propseti(self,"timerenabled",0);
	}

	return self;
}
Example #23
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;
}
/**	
 * 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;
}
Example #25
0
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);

}
Example #26
0
int liqdialog_askv(const char *key,const char *question,const char *description,const char *footingnotes,int defaultoption,int answercount,const char ** answers)
{
int result;
	
	if(answercount==0)
	{
		const char **a=answers;
		while(*a++) 
		{
			if(answercount>20)break;		// for now, lets not get stuck...
			answercount++;
		}
	}
	
	if(!footingnotes)footingnotes="contact [email protected], lcuk on #maemo";
	
	liqapp_log("Running Dialog with %i options",answercount);






	//##################################################### 
	liqcell *self = liqcell_quickcreatewidget("testcode","form", 800,480);
	if(!self)
	{
		liqapp_log("could not allocate 'testcode'");
		return 0;
	}
	liqcell *b = NULL;
	liqcell *c = NULL;


	

	//##################################################### label1 :: label
	//# This is the main widget constructor for this node
	b = liqcell_quickcreatevis("question","label",  	0,0,  800,112 );
	    liqcell_setcaption(b,       question);
	    liqcell_setfont(   b, 	liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (26), 0) );
	    liqcell_propsets(  b,    	"bordercolor",	"rgb(100,100,100)" );
	    liqcell_propsets(  b,    	"textcolor",		"rgb(255,255,255)" );
	    liqcell_propseti(  b,    	"textalign",		0 );
	    liqcell_propseti(  b,    	"textaligny",		2 );
	    //liqcell_handleradd_withcontext(b,"click",         	(void*)label1_click, self);
	    //liqcell_handleradd_withcontext(b,"mouse",         	(void*)label1_mouse, self);
	liqcell_child_append( self, b );

	//##################################################### panel1 :: panel
	//# This is the main widget constructor for this panel
	b = liqcell_quickcreatevis("panel1","panel",  	0,112,  800,480-112-56 );
	    liqcell_propsets(  b,    	"bordercolor",	"rgb(100,100,100)" );



		//##################################################### 
		int a;
		for(a=0;a<answercount;a++)
		{

			//############################# toolname:button
			liqcell *bt = liqcell_quickcreatevis(answers[a], "button", 0,0, 100, 56);
			liqcell_setfont(	bt, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (32), 0) );
			liqcell_setcaption(bt, answers[a] );
			liqcell_propsets(  bt, "textcolor",   "rgb(255,255,255)" );
			if(a==defaultoption)
				liqcell_propsets(  bt, "backcolor",   "xrgb(50,160,50)");
			else
				liqcell_propsets(  bt, "backcolor",   "xrgb(50,100,50)");
			liqcell_propsets(  bt, "bordercolor", "rgb(255,255,255)" );
			liqcell_propseti(  bt, "textalign",   2 );
			liqcell_propseti(  bt, "textaligny",  2 );
			
			liqcell_handleradd_withcontext(bt,    "click",   (void*)dialogbutton_click, self);
			liqcell_handleradd_withcontext(bt,    "mouse",   (void*)dialogbutton_mouse, self);
			

			liqcell_child_append( b, bt );
		}

		liqcell_child_arrange_easytile( b );
		
	liqcell_child_append( self, b );

	//##################################################### label2 :: label
	//# This is the main widget constructor for this node
	b = liqcell_quickcreatevis("footer","label",  	0,424,  800,56 );
	    liqcell_setcaption(b,       footingnotes);
	    liqcell_setfont(   b, 	liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (26), 0) );
	    liqcell_propsets(  b,    	"bordercolor",	"rgb(100,100,100)" );
	    liqcell_propsets(  b,    	"textcolor",		"rgb(255,255,255)" );
	    liqcell_propseti(  b,    	"textalign",		2 );
	    liqcell_propseti(  b,    	"textaligny",		2 );
	    //liqcell_handleradd_withcontext(b,"click",         	(void*)label2_click, self);
	    //liqcell_handleradd_withcontext(b,"mouse",         	(void*)label2_mouse, self);
	liqcell_child_append( self, b );






	
	liqcell_propseti(self,"dialog_zoomed",1  );
	liqcell_easyrun(self);
	liqcell_release(self);	
	return result;
}
liqcell *liqrecentsketches_tagging_create()
{
	liqcell *self = liqcell_quickcreatewidget("liqrecentsketches_tagging","form", 800,480);

	if(self)
	{
	//	liqcell_propsets(  self, "backcolor", "rgb(255,255,255)" );

		//liqcell_propseti(self,"autorotate",1);



{
	
	
	liqcell *backplane = liqcell_quickcreatevis("backplane","frame",self->w*0.1 ,0,   self->w*0.7,self->h);
	liqcell_child_insert( self, backplane );
		liqcell *body = liqcell_quickcreatevis("body","frame",0 ,0,   backplane->w,self->h);
		liqcell_child_insert( backplane, body );
		
	//	liqcell_scan_folder_for_images(self,buf);
		
		//liqcell_propsets(  self, "monitorpath" , buf);
		//liqcell_propsets(  self, "watchpattern" , "liq.*");

	//	int cnt=0;
	//	liqcell *c=NULL;



		//liqcell_child_arrange_makegrid(body,3,3);

		//c=liqcell_lastchild(body);

		liqcell_handleradd_withcontext(body,    "mouse",   liqcell_easyhandler_kinetic_mouse, self );
		liqcell_handleradd_withcontext(body,    "move",    liqrecentsketches_body_move,       self );
		//liqcell_handleradd(self,    "click",   float_click);
		

	//############################# scroller:label
	liqcell *scroller = liqcell_quickcreatevis("scroller", "label", 0,56, self->w*0.1, self->h-56);
	//liqcell_setfont(	scroller, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) );
	//liqcell_setcaption(scroller, "Scroller" );
	//liqcell_propsets(  scroller, "imagefilename", "media/titlebanner_left.png" );
	//liqcell_propsets(  scroller, "textcolor", "rgb(255,255,0)" );
	liqcell_propsets(  scroller, "backcolor", "rgb(0,0,60)" );
	liqcell_propseti(  scroller, "textalign", 0 );
	
	liqcell_handleradd_withcontext(scroller,    "mouse",   liqrecentsketches_scroller_mouse , self );

	liqcell_child_append(  self, scroller);

		//############################# knob:label
		liqcell *knob = liqcell_quickcreatevis("knob", "label", 0,0, 200, 50);
		//liqcell_setfont(	knob, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) );
		//liqcell_setcaption(knob, "knob" );
		liqcell_propsets(  knob, "imagefilename", "media/blob.png" );
		liqcell_propsets(  knob, "textcolor", "rgb(255,255,0)" );
		liqcell_propsets(  knob, "backcolor", "rgb(0,60,0)" );
		liqcell_propseti(  knob, "textalign", 0 );

		
		liqcell_child_append(  scroller, knob);

		






// 20090619_221734 lcuk : VERY strange, if I compile with this block in place, when run from the console its ok
// 20090619_221809 lcuk : but when run from the icon the app closes and does not run
// 20090619_221830 lcuk : very curious


//#ifdef USE_INOTIFY
		//############################# timer1:liqtimer
		liqcell *timer1=liqcell_quickcreatevis("timer1",   "liqtimer",   0,0,   0,0 );
		// store ourselves on the tag for use later
		// this does feel like a workaround, but hell, it works!
		//liqcell_settag(timer1,liqcell_hold(self));
		liqcell_propseti(timer1,"timerinterval", 1 );
		liqcell_handleradd_withcontext(timer1,"timertick",timer_tick,self);
		liqcell_setenabled(timer1,0);
		liqcell_child_insert( self,timer1);
//#endif



		//############################# cmdselclear:button
		liqcell *cmdselclear = liqcell_quickcreatevis("cmdselclear", "button", self->w*0.8,self->h-56-56-244-56-28, self->w*0.05, 28);
		liqcell_setfont(	cmdselclear, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (15), 0) );
		liqcell_setcaption(cmdselclear, "Clear" );
		//liqcell_propsets(  cmdselclear, "imagefilename", "media/titlebanner_left.png" );
		liqcell_propsets(  cmdselclear, "textcolor", "rgb(255,255,0)" );
		liqcell_propsets(  cmdselclear, "backcolor", "xrgb(0,60,60)" );
		liqcell_propseti(  cmdselclear, "textalign", 2 );
		liqcell_propseti(  cmdselclear, "textaligny", 2 );
		liqcell_child_append(  self, cmdselclear);
		liqcell_handleradd_withcontext(cmdselclear,    "click",   liqrecentsketches_clear_click , self );

		//############################# cmdselinv:button
		liqcell *cmdselinv = liqcell_quickcreatevis("cmdselinv", "button", self->w*0.95,self->h-56-56-244-56-28, self->w*0.05, 28);
		liqcell_setfont(	cmdselinv, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (15), 0) );
		liqcell_setcaption(cmdselinv, "Inv" );
		//liqcell_propsets(  cmdselinv, "imagefilename", "media/titlebanner_left.png" );
		liqcell_propsets(  cmdselinv, "textcolor", "rgb(255,255,0)" );
		liqcell_propsets(  cmdselinv, "backcolor", "xrgb(60,0,60)" );
		liqcell_propseti(  cmdselinv, "textalign", 2 );
		liqcell_propseti(  cmdselinv, "textaligny", 2 );
		liqcell_child_append(  self, cmdselinv);
		//liqcell_handleradd_withcontext(cmdselinv,    "click",   liqrecentsketches_clear_click , self );


		liqcell_setvisible(cmdselinv,0);


		//############################# selecttitle:textbox
		liqcell *selecttitle = liqcell_quickcreatevis("selecttitle", "textbox", self->w*0.8,self->h-56-56-244-56, self->w*0.1, 56);
		liqcell_setfont(	selecttitle, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) );
		liqcell_setcaption(selecttitle, "" );
		//liqcell_propsets(  selecttitle, "imagefilename", "media/titlebanner_left.png" );
		liqcell_propsets(  selecttitle, "textcolor", "rgb(255,255,255)" );
		liqcell_propsets(  selecttitle, "backcolor", "rgb(0,60,0)" );
		liqcell_propsets(  selecttitle, "bordercolor", "xrgb(255,255,255)" );
		liqcell_propseti(  selecttitle, "textalign", 2 );
		liqcell_propseti(  selecttitle, "textaligny", 2 );
		liqcell_child_append(  self, selecttitle);


		//############################# selectgroup:box
		liqcell *selectgroup = liqcell_quickcreatevis("selectgroup", "box", self->w*0.8,self->h-56-56-244, self->w*0.1, 244);
		liqcell_propsets(  selectgroup, "backcolor", "xrgb(0,40,0)" );
		liqcell_propsets(  selectgroup, "bordercolor", "xrgb(255,255,255)" );
		liqcell_child_append(  self, selectgroup);
		
			//############################# selectbackplane:box
			liqcell *selectbackplane = liqcell_quickcreatevis("selectbackplane", "box", self->w*0.8,self->h-56-56-244, self->w*0.1, 244);
			//liqcell_propsets(  selectbackplane, "backcolor", "xrgb(0,40,0)" );
			//liqcell_propsets(  selectbackplane, "bordercolor", "xrgb(255,255,255)" );
			liqcell_child_append(  selectgroup, selectbackplane);

			liqcell_handleradd_withcontext(selectbackplane,    "mouse",   liqcell_easyhandler_kinetic_mouse, self );


		//############################# selectcount:label
		liqcell *selectcount = liqcell_quickcreatevis("selectcount", "label", self->w*0.8,self->h-56-56, self->w*0.1, 56);
		liqcell_setfont(	selectcount, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (20), 0) );
		liqcell_setcaption(selectcount, "0 items" );
		//liqcell_propsets(  selectcount, "imagefilename", "media/titlebanner_left.png" );
		liqcell_propsets(  selectcount, "textcolor", "rgb(255,255,255)" );
		liqcell_propsets(  selectcount, "backcolor", "rgb(0,0,0)" );
		liqcell_propsets(  selectcount, "bordercolor", "xrgb(255,255,255)" );
		liqcell_propseti(  selectcount, "textalign", 2 );
		liqcell_propseti(  selectcount, "textaligny", 2 );
		liqcell_child_append(  self, selectcount);

		//############################# cmdedit:button
		liqcell *cmdedit = liqcell_quickcreatevis("cmdedit", "button", self->w*0.8,self->h-56, self->w*0.1, 56);
		liqcell_setfont(	cmdedit, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (20), 0) );
		liqcell_setcaption(cmdedit, "Save" );
		//liqcell_propsets(  cmdedit, "imagefilename", "media/titlebanner_left.png" );
		liqcell_propsets(  cmdedit, "textcolor", "rgb(255,255,0)" );
		liqcell_propsets(  cmdedit, "backcolor", "xrgb(0,0,60)" );
		liqcell_propseti(  cmdedit, "textalign", 2 );
		liqcell_propseti(  cmdedit, "textaligny", 2 );
		liqcell_child_append(  self, cmdedit);
		liqcell_handleradd_withcontext(cmdedit,    "click",   liqrecentsketches_save_click , self );




}



		liqcell_handleradd_withcontext(self, "shown", widget_shown ,self);


	}
	
	return self;
}
	static int liqrecentsketches_sketch_insert(liqcell *self,char *filenamebuffer)
	{
		liqcell *backplane = liqcell_child_lookup( self,"backplane");
		liqcell *body = liqcell_child_lookup( backplane,"body");

		//liqapp_log("gary: [[%s]]",filenamebuffer);

		struct pagefilename pfn;
	
		if(	(pagefilename_breakapart(&pfn,filenamebuffer) == 0) )
		{
		
			char buf[FILENAME_MAX];			snprintf(buf,sizeof(buf),"%s%s",pfn.filedate,pfn.filetitle);
		
			//liqapp_log("ins 1 %s",filenamebuffer);
			// valid file		
			char b[255]={0};
			snprintf(b,5,"%s",pfn.filedate); b[4]='\0';
			liqcell *xy=liqcell_child_lookup(body,b);
			if(!xy)
			{
				//liqapp_log("ins 2 %s",filenamebuffer);
				xy=liqcell_quickcreatevis(b,"year",  0,0, (backplane->w),backplane->h/15);
				liqcell_child_insertsortedbyname(body,xy,0);
				//snprintf(b,5,"%s",pfn.filedate); b[4]='\0';
				//brk=addframe(xy,b,(self->w),self->h/15);				// year break tile
				//brk->style=odd;
			}
		
			//liqapp_log("ins 3 %s",filenamebuffer);
		
		
				snprintf(b,3,"%s",&pfn.filedate[4]); b[2]='\0';
				liqcell *xm=liqcell_child_lookup(xy,b);
				if(!xm)
				{
					//liqapp_log("ins 4 %s",filenamebuffer);
					xm=liqcell_quickcreatevis(b,"month",  0,0, (backplane->w),backplane->h/15);
					liqcell_child_insertsortedbyname(xy,xm,0);
					//snprintf(b,7,"%s",pfn.filedate); b[6]='\0';
					//brk=addframe(xm,b,(self->w),self->h/15);			// month break tile
					//brk->style=odd;
				}
			
				//liqapp_log("ins 5 %s",filenamebuffer);
			
					snprintf(b,3,"%s",&pfn.filedate[6]); b[2]='\0';
					liqcell *xd=liqcell_child_lookup(xm,b);
					if(!xd)
					{
						//liqapp_log("ins 6 %s",filenamebuffer);
						xd=liqcell_quickcreatevis(b,"day",  0,0, (backplane->w),backplane->h/15);
						liqcell_child_insertsortedbyname(xm,xd,0);
					
						//liqapp_log("ins 7 %s",filenamebuffer);
						// add title header

						snprintf(b,10,"_%s",pfn.filedate); b[9]='\0';
						liqcell *brk=liqcell_quickcreatevis(b,"label",  0,0, (backplane->w),backplane->h/15);


						liqcell_setfont(	brk, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (24), 0) );
					
						snprintf(b,9,"%s",pfn.filedate); b[8]='\0';
					
						liqcell_setcaption(brk, b );
						liqcell_propsets(  brk, "textcolor", "rgb(255,255,255)" );
						liqcell_propsets(  brk, "backcolor", "rgb(0,0,100)");
						liqcell_propseti(  brk, "textalign", 0 );

						liqcell_child_append(xd,brk);
					}
				
					//liqapp_log("ins 8 %s",filenamebuffer);
				

					liqcell *c = liqcell_quickcreatevis(buf,   "sketch",   0,0,(backplane->w/5),(backplane->h/4)    );
					liqcell_propseti(c,"lockaspect",1);
					liqcell_propsets(c,"sketchfilename",filenamebuffer);
					liqcell_handleradd_withcontext(c,"click",liqrecentsketches_sketchitem_click,self);
				
						//	liqcell_propseti(c,"autorotate",1);

				
				
					liqcell_child_insertsortedbyname( xd, c,0);
				
					//liqapp_log("ins 9 %s",filenamebuffer);
				
					liqcell_setsize(xd, backplane->w, backplane->h/15 );
					liqcell_child_arrange_autoflow(xd);
				liqcell_child_arrange_easycol(xm);			
			liqcell_child_arrange_easycol(xy);
				
			liqcell_child_arrange_easycol(body);
			//liqcell_setsize(body,body->w,body->h-700);	
			liqcell_setsize(body,body->w,body->h);			// hmm random offset needed only for huge number of sketches.
		
		}
	}
	int liqrecentsketches_sketchitem_click(liqcell *self, liqcellclickeventargs *args, liqcell *liqrecentsketches)
	{
//liqapp_log("hello click edit!");
		//liqcell *mydialog = quickdialog_create();
		//liqcell_easyrun(mydialog);
		//liqcell_release(mydialog);

		char *sketchfilename  = liqcell_propgets(self,"sketchfilename",NULL);		
		if(!sketchfilename) return -1;
		
//liqapp_log("hello click edit!2 '%s'",sketchfilename);

		if(liqcell_getselected(self))
		{
//liqapp_log("hello click edit!3");
			liqcell *selectgroup = liqcell_child_lookup( liqrecentsketches,"selectgroup");
			liqcell *selectbackplane = liqcell_child_lookup( selectgroup,"selectbackplane");
			liqcell *selectitem = liqcell_child_lookup_simple( selectbackplane,sketchfilename);

			if(selectitem)
			{
//liqapp_log("hello click edit!4");
				liqcell_child_remove(selectbackplane,selectitem);
				liqcell_release(selectitem);


				liqcell_child_arrange_easytile_hero(	selectbackplane );		

			}	
			
			else
			{
				
				liqcell_print(selectgroup,"hello hmm 4.5: ",3);
			
			}
//liqapp_log("hello click edit!5");			



			liqcell *selectcount = liqcell_child_lookup( liqrecentsketches,"selectcount");
			int selectcnt = liqcell_child_countvisible(selectbackplane);
			liqcell_setcaption_printf(selectcount, "%d items", selectcnt);


			liqcell_setselected(self,0);
			current_selection=NULL;
			return 0;	

		}
//liqapp_log("hello click edit!6");
		liqcell_setselected(self,1);

//		if(current_selection && current_selection!=self)
//			liqcell_setselected(current_selection,0);
		
		
			liqcell *selectgroup = liqcell_child_lookup( liqrecentsketches,"selectgroup");
			liqcell *selectbackplane = liqcell_child_lookup( selectgroup,"selectbackplane");
			
				liqcell *c = liqcell_quickcreatevis(sketchfilename,   "sketch",   0,0,(selectgroup->w/5),(selectgroup->h/4)    );
				liqcell_propseti(c,"lockaspect",1);
				liqcell_propsets(c,"sketchfilename",sketchfilename);
				liqcell_child_insert( selectbackplane, c);
				liqcell_child_arrange_easytile_hero(	selectbackplane );


			liqcell *selectcount = liqcell_child_lookup( liqrecentsketches,"selectcount");
			int selectcnt = liqcell_child_countvisible(selectbackplane);
			liqcell_setcaption_printf(selectcount, "%d items", selectcnt);


		current_selection = self;
//liqapp_log("hello click edit!7");
		return 0;


		//char *sketchfilename  = liqcell_propgets(self,"sketchfilename",NULL);		
		//if(!sketchfilename) return -1;
		
		liqsketch *mysketch=liqsketch_newfromfile(sketchfilename);//   liqcell_getsketch(self);
		if(!mysketch)return -1;



		
		liqcell * top = liqcell_quickcreatevis("liqtop1", "liqtop", 0,0, 800,480);
		
		liqcell_setsketch(top, mysketch );
		
		//liqcell_propseti(top,"autorotate",1);
		
		
	//	args->newdialogtoopen = top;

		liqcell_release(top);
		

		return 1;
	}	
liqcell *liqrecentsketches_classic_create()
{
	liqcell *self = liqcell_quickcreatewidget("liqrecentsketches_classic","form", 800,480);

	if(self)
	{
	//	liqcell_propsets(  self, "backcolor", "rgb(255,255,255)" );

		//liqcell_propseti(self,"autorotate",1);


		char buf[FILENAME_MAX];    snprintf(buf,sizeof(buf),"%s/sketches",app.userdatapath);


if(liqapp_pathexists(buf))
{
	
	liqapp_log("recent sketches buf=%s",buf);
	
	liqcell *backplane = liqcell_quickcreatevis("backplane","frame",self->w*0.1 ,0,   self->w*0.9,self->h);
	liqcell_child_insert( self, backplane );
		liqcell *body = liqcell_quickcreatevis("body","frame",0 ,0,   self->w*0.9,self->h);

		
		
		liqcell_child_insert( backplane, body );
		
		liqcell_scan_folder_for_images(self,buf);
		
		liqcell_propsets(  self, "monitorpath" , buf);
		//liqcell_propsets(  self, "watchpattern" , "liq.*");

		int cnt=0;
		liqcell *c=NULL;


		//liqcell_child_arrange_makegrid(body,3,3);

		c=liqcell_lastchild(body);

		liqcell_handleradd_withcontext(body,    "mouse",   liqcell_easyhandler_kinetic_mouse, self );
		liqcell_handleradd_withcontext(body,    "move",   liqrecentsketches_body_move, self );
		//liqcell_handleradd(self,    "click",   float_click);
		

	//############################# scroller:label
	liqcell *scroller = liqcell_quickcreatevis("scroller", "label", 0,56, self->w*0.1, self->h-56);
	//liqcell_setfont(	scroller, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) );
	//liqcell_setcaption(scroller, "Scroller" );
	//liqcell_propsets(  scroller, "imagefilename", "media/titlebanner_left.png" );
	//liqcell_propsets(  scroller, "textcolor", "rgb(255,255,0)" );
	
	liqcell_propsets(  scroller, "backcolor", "rgb(0,0,60)" );
	//liqcell_propseti(  scroller, "textalign", 0 );


	//	if(!liqcell_getcontent(scroller))
			//liqcell_setcontent(scroller, body  );
			// amusing effect and shows entire wall but really slugs it up
			// to be usable it should just cache the picture in this case
			// since the data changes rarely but navigation is frequent
			

	
	liqcell_handleradd_withcontext(scroller,    "mouse",   liqrecentsketches_scroller_mouse , self );

	liqcell_child_append(  self, scroller);

		//############################# knob:label
		liqcell *knob = liqcell_quickcreatevis("knob", "label", 0,0, 200, 50);
		//liqcell_setfont(	knob, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) );
		//liqcell_setcaption(knob, "knob" );
//		liqcell_propsets(  knob, "imagefilename", "media/blob.png" );
		//liqcell_propsets(  knob, "textcolor", "rgb(255,255,0)" );
		liqcell_propsets(  knob, "backcolor", "rgba(0,60,0,128)" );
		liqcell_propseti(  knob, "textalign", 0 );


		liqcell_child_append( scroller, knob);


		liqcell_setpos(body,0,-(body->h-backplane->h));




// 20090619_221734 lcuk : VERY strange, if I compile with this block in place, when run from the console its ok
// 20090619_221809 lcuk : but when run from the icon the app closes and does not run
// 20090619_221830 lcuk : very curious


//#ifdef USE_INOTIFY
		//############################# timer1:liqtimer
		liqcell *timer1=liqcell_quickcreatevis("timer1",   "liqtimer",   0,0,   0,0 );
		// store ourselves on the tag for use later
		// this does feel like a workaround, but hell, it works!
		//liqcell_settag(timer1,liqcell_hold(self));
		liqcell_propseti(timer1,"timerinterval", 1 );
		liqcell_handleradd_withcontext(timer1,"timertick",timer_tick,self);
		liqcell_setenabled(timer1,1);
		liqcell_child_insert( self,timer1);
//#endif

		//############################# cmdnew:label
		liqcell *cmdnew = liqcell_quickcreatevis("cmdnew", "button", self->w*0.8,self->h-56, self->w*0.1, 56);
		liqcell_setfont(	cmdnew, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) );
		liqcell_setcaption(cmdnew, "New" );
		//liqcell_propsets(  cmdnew, "imagefilename", "media/titlebanner_left.png" );
		liqcell_propsets(  cmdnew, "textcolor", "rgb(255,255,255)" );
		liqcell_propsets(  cmdnew, "backcolor", "xrgb(0,60,0)" );
		liqcell_propsets(  cmdnew, "bordercolor", "xrgb(255,255,255)" );
		liqcell_propseti(  cmdnew, "textalign", 2 );
		liqcell_propseti(  cmdnew, "textaligny", 2 );
		liqcell_child_append(  self, cmdnew);
		liqcell_handleradd_withcontext(cmdnew,    "click",   liqrecentsketches_new_click , self );

		//############################# cmdedit:label
		liqcell *cmdedit = liqcell_quickcreatevis("cmdedit", "button", self->w*0.9,self->h-56, self->w*0.1, 56);
		liqcell_setfont(	cmdedit, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) );
		liqcell_setcaption(cmdedit, "Edit" );
		//liqcell_propsets(  cmdedit, "imagefilename", "media/titlebanner_left.png" );
		liqcell_propsets(  cmdedit, "textcolor", "rgb(255,255,255)" );
		liqcell_propsets(  cmdedit, "backcolor", "xrgb(0,0,60)" );
		liqcell_propsets(  cmdedit, "bordercolor", "xrgb(255,255,255)" );
		liqcell_propseti(  cmdedit, "textalign", 2 );
		liqcell_propseti(  cmdedit, "textaligny", 2 );
				liqcell_child_append(  self, cmdedit);
		liqcell_handleradd_withcontext(cmdedit,    "click",   liqrecentsketches_edit_click , self );

}

/*
		//############################# title:label
		liqcell *title = liqcell_quickcreatevis("title", "label", 0,0, 200, 50);
		liqcell_setfont(	title, liqfont_cache_getttf("/usr/share/fonts/nokia/nosnb.ttf", (29), 0) );
		liqcell_setcaption(title, "Sketches" );
		liqcell_propsets(  title, "imagefilename", "media/titlebanner_left.png" );
		liqcell_propsets(  title, "textcolor", "rgb(255,255,0)" );
		//liqcell_propsets(  title, "backcolor", "rgb(0,0,60)" );
		liqcell_propseti(  title, "textalign", 0 );
		liqcell_child_append(  self, title);
*/

	}
	
	return self;
}