Parcourir la source

Added fl_register_images to FLTK module.

mingodad il y a 13 ans
Parent
commit
dc8bca058b
3 fichiers modifiés avec 31 ajouts et 1 suppressions
  1. 6 0
      SquiLu-ext/sq_fltk.cpp
  2. 24 1
      SquiLu-ourbiz/ourbiz-fltk.nut
  3. 1 0
      SquiLu-ourbiz/utils-fltk.nut

+ 6 - 0
SquiLu-ext/sq_fltk.cpp

@@ -4084,6 +4084,11 @@ static SQRESULT fl_cursor_wait_constructor (HSQUIRRELVM v) {
     return 1;
     return 1;
 }
 }
 
 
+static SQRESULT _fl_globals_fl_register_images (HSQUIRRELVM v) {
+    fl_register_images();
+    return 0;
+}
+
 #define _DECL_FUNC(name,nparams,pmask,isStatic) {_SC(#name),_fl_globals_##name,nparams,pmask,isStatic}
 #define _DECL_FUNC(name,nparams,pmask,isStatic) {_SC(#name),_fl_globals_##name,nparams,pmask,isStatic}
 static SQRegFunction fl_globals_funcs[]={
 static SQRegFunction fl_globals_funcs[]={
 	_DECL_FUNC(fl_alert, 2,_SC(".s"),SQTrue),
 	_DECL_FUNC(fl_alert, 2,_SC(".s"),SQTrue),
@@ -4112,6 +4117,7 @@ static SQRegFunction fl_globals_funcs[]={
 	_DECL_FUNC(fl_dir_chooser,-3,_SC(".ssb"),SQTrue),
 	_DECL_FUNC(fl_dir_chooser,-3,_SC(".ssb"),SQTrue),
 	_DECL_FUNC(fl_file_chooser,-4,_SC(".ss s|o b"),SQTrue),
 	_DECL_FUNC(fl_file_chooser,-4,_SC(".ss s|o b"),SQTrue),
 	_DECL_FUNC(fl_input,3,_SC(".ss"),SQTrue),
 	_DECL_FUNC(fl_input,3,_SC(".ss"),SQTrue),
+	_DECL_FUNC(fl_register_images,1,_SC("."),SQTrue),
 	{0,0}
 	{0,0}
 };
 };
 #undef _DECL_FUNC
 #undef _DECL_FUNC

+ 24 - 1
SquiLu-ourbiz/ourbiz-fltk.nut

@@ -186,7 +186,7 @@ class Fl_Box_ClearLabel extends Fl_Box {
 	}
 	}
 }
 }
 
 
-class Fl_Image_Box extends Fl_Box {
+class Fl_Image_Box extends Fl_Button {
 	image_id = null;
 	image_id = null;
 	image_type = null;
 	image_type = null;
 	thumbIMG = null;
 	thumbIMG = null;
@@ -1421,6 +1421,7 @@ class OurImages extends ImagesListEditWindow {
 		setDbActionControls(dbAction, btnDbAction);
 		setDbActionControls(dbAction, btnDbAction);
 		_search_options = OurBizSearchOptions();
 		_search_options = OurBizSearchOptions();
 		fill_grid();
 		fill_grid();
+		btnImage.callback(on_image_file_browser);
 	}
 	}
 	function fill_grid(){
 	function fill_grid(){
 		_search_options.query_limit = query_limit->value();
 		_search_options.query_limit = query_limit->value();
@@ -1441,6 +1442,28 @@ class OurImages extends ImagesListEditWindow {
 			btnImage->show();
 			btnImage->show();
 		}
 		}
 	}
 	}
+	
+	function getImgTypeByExtension(ext)
+	{
+/*
+		//if(stricmp(ext, "jpg")==0)
+		if(ext == "jpg") return CXIMAGE_FORMAT_JPG;
+		else if(ext == "png") return CXIMAGE_FORMAT_PNG;
+		else if(ext == "gif")return CXIMAGE_FORMAT_GIF;
+		else return 0;
+*/
+	}
+	
+	function on_image_file_browser(sender, udata)
+	{
+		this = sender->window();
+		local imgf = fl_file_chooser(_tr("Select an image"), "*.{jpg,png}", null, false);
+		//printf("%s\n", imgf);
+		if(!imgf) return;
+		local ext = imgf.match("%.([^.]+)$");
+		db_images_mime_type->value(ext);
+		db_images_mime_type->set_changed();
+	}
 }
 }
 
 
 class OurAppConfig extends AppConfigEditWindow {
 class OurAppConfig extends AppConfigEditWindow {

+ 1 - 0
SquiLu-ourbiz/utils-fltk.nut

@@ -104,6 +104,7 @@ Fl.scheme("gtk+");
 Fl.visual(FL_RGB);
 Fl.visual(FL_RGB);
 //allow arrow keys navigation
 //allow arrow keys navigation
 Fl.option(Fl.OPTION_ARROW_FOCUS, true);
 Fl.option(Fl.OPTION_ARROW_FOCUS, true);
+fl_register_images();
 /*
 /*
 setting font this way on linux makes Fl_Pack child misbehave
 setting font this way on linux makes Fl_Pack child misbehave
 setAppFont("erdana");
 setAppFont("erdana");