diff --git a/src/ba/ba8300.h b/src/ba/ba8300.h index 6115abd95..d45a1b729 100755 --- a/src/ba/ba8300.h +++ b/src/ba/ba8300.h @@ -45,6 +45,7 @@ #define F_SHADE_ANGLE 151 #define F_SHCOLOR 152 #define F_TXCOLOR 153 +#define F_IMAGE_RESIZE 154 #define F_PRFONT_SELECT 159 #define F_LEVEL 160 diff --git a/src/ba/ba8300b.uml b/src/ba/ba8300b.uml index 03c156e20..0e18b4293 100755 --- a/src/ba/ba8300b.uml +++ b/src/ba/ba8300b.uml @@ -4,19 +4,19 @@ PAGE "Campo" -1 -1 74 20 LIST F_TYPE 1 16 BEGIN - PROMPT 1 0 "Tipo " - ITEM "T|Testo fisso" - ITEM "S|Stringa" - ITEM "N|Numero" - ITEM "V|Valuta" - ITEM "P|Prezzo" - ITEM "D|Data" - ITEM "B|Booleano" - ITEM "A|Array (Lista)" - ITEM "I|Immagine" - ITEM "L|Linea" - ITEM "R|Rettangolo" - ITEM "E|Ellisse" + PROMPT 1 0 "Tipo " + ITEM "T|Testo fisso" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE + ITEM "S|Stringa" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE + ITEM "N|Numero" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE + ITEM "V|Valuta" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE + ITEM "P|Prezzo" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE + ITEM "D|Data" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE + ITEM "B|Booleano" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE + ITEM "A|Array (Lista)" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE + ITEM "I|Immagine" MESSAGE ENABLE,F_IMAGE_RESIZE|SHOW,F_IMAGE_RESIZE + ITEM "L|Linea" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE + ITEM "R|Rettangolo" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE + ITEM "E|Ellisse" MESSAGE CLEAR,F_IMAGE_RESIZE|HIDE,F_IMAGE_RESIZE END NUMBER F_ID 4 @@ -204,6 +204,15 @@ BEGIN ITEM "270|Lineare in basso" END +LIST F_IMAGE_RESIZE 1 13 +BEGIN + PROMPT 2 10 "Immagine " + ITEM " |Scala X e Y" + ITEM "X|Scala X" + ITEM "Y|Scala Y" + ITEM "N|Non scalare" +END + BUTTON F_FONT_SELECT 14 2 BEGIN PROMPT 2 10 "~Font" diff --git a/src/ba/ba8301.cpp b/src/ba/ba8301.cpp index cc326659a..657a36e22 100755 --- a/src/ba/ba8301.cpp +++ b/src/ba/ba8301.cpp @@ -897,6 +897,7 @@ void TReport_field_mask::set_field(const TReport_field& rf) TSheet_field& list = sfield(F_LIST); rf.get_list(list.rows_array()); } + set(F_IMAGE_RESIZE, rf.get_image_resize_type()); } void TReport_field_mask::get_field(TReport_field& rf) const @@ -940,6 +941,7 @@ void TReport_field_mask::get_field(TReport_field& rf) const const TSheet_field& list = sfield(F_LIST); rf.set_list(list.rows_array()); } + rf.set_image_resize_type(get(F_IMAGE_RESIZE)); } TReport_field_mask::TReport_field_mask(TReport_field& rf) diff --git a/src/ba/ba8500.cpp b/src/ba/ba8500.cpp index 96b52a51e..b2bc8fced 100755 --- a/src/ba/ba8500.cpp +++ b/src/ba/ba8500.cpp @@ -147,12 +147,17 @@ bool TKlarkKent_mask::on_field_event(TOperable_field& o, TField_event e, long jo TReport* TKlarkKent_app::create_report(const char* name) const { - TReport* r = new TReport; - r->load(name); + TReport* r = new TReport; + r->load(name); - TString custom_query; - - get_custom_query("", name, custom_query); + TString custom_query; + TFilename filename(name); + + filename = filename.name(); + + const TString module = (filename[3] >= '0') && (filename[3] <= '9') ? filename.left(2) : ""; + + get_custom_query(module, filename, custom_query); if (custom_query.full()) r->set_recordset(custom_query); return r;