Guys, I'm playing around with adding the widgets to the external dialog to enable the use to rotate, scale, crop the output if so desired. As not all the available templates will support these transforms, I thought that it would be best to shove them into a tabbed folder (or two).
Attached is a screen shot of things as they are in my tree, together with the fdesign file. The "Transformations" folder would eventually contain the rotate, scale and crop data present in the graphics dialog. Presumably as three seperate tabs. The idea would then be to only activate the tab if the transform was supported by the given template. Questions: * is this design Ok? * Any suggestions for improvements? * How would you expect the same functionality to be presented in the Qt frontend? -- Angus
Magic: 13000 Internal Form Definition File (do not change) Number of forms: 3 Unit of measure: FL_COORD_PIXEL SnapGrid: 5 =============== FORM =============== Name: form_external Width: 395 Height: 445 Number of Objects: 10 -------------------- class: FL_BOX type: FLAT_BOX box: 0 0 395 445 boxtype: FL_FLAT_BOX colors: FL_COL1 FL_COL1 alignment: FL_ALIGN_CENTER style: FL_NORMAL_STYLE size: FL_DEFAULT_SIZE lcol: FL_BLACK label: shortcut: resize: FL_RESIZE_ALL gravity: FL_NoGravity FL_NoGravity name: callback: argument: -------------------- class: FL_TABFOLDER type: TOP_TABFOLDER box: 10 240 380 165 boxtype: FL_FLAT_BOX colors: FL_COL1 FL_COL1 alignment: FL_ALIGN_TOP_LEFT style: FL_NORMAL_STYLE size: FL_DEFAULT_SIZE lcol: FL_BLACK label: shortcut: resize: FL_RESIZE_NONE gravity: FL_NoGravity FL_NoGravity name: tabfolder callback: argument: -------------------- class: FL_CHOICE type: NORMAL_CHOICE box: 140 5 160 25 boxtype: FL_FRAME_BOX colors: FL_COL1 FL_RIGHT_BCOL alignment: FL_ALIGN_LEFT style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: Template:|#T shortcut: resize: FL_RESIZE_ALL gravity: FL_NorthWest FL_NorthEast name: choice_template callback: C_FormDialogView_InputCB argument: 0 -------------------- class: FL_BROWSER type: NORMAL_BROWSER box: 10 35 380 140 boxtype: FL_DOWN_BOX colors: FL_COL1 FL_YELLOW alignment: FL_ALIGN_TOP style: FL_NORMAL_STYLE size: FL_DEFAULT_SIZE lcol: FL_BLACK label: shortcut: resize: FL_RESIZE_ALL gravity: FL_NorthWest FL_SouthEast name: browser_helptext callback: argument: -------------------- class: FL_INPUT type: NORMAL_INPUT box: 90 195 195 25 boxtype: FL_DOWN_BOX colors: FL_COL1 FL_MCOL alignment: FL_ALIGN_LEFT style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: File:|#F shortcut: resize: FL_RESIZE_ALL gravity: FL_SouthWest FL_SouthEast name: input_filename callback: C_FormDialogView_InputCB argument: 0 -------------------- class: FL_BUTTON type: NORMAL_BUTTON box: 290 195 100 25 boxtype: FL_UP_BOX colors: FL_COL1 FL_COL1 alignment: FL_ALIGN_CENTER style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: Browse...|#B shortcut: resize: FL_RESIZE_ALL gravity: FL_SouthEast FL_SouthEast name: button_browse callback: C_FormDialogView_InputCB argument: 0 -------------------- class: FL_BUTTON type: NORMAL_BUTTON box: 290 225 100 25 boxtype: FL_UP_BOX colors: FL_COL1 FL_COL1 alignment: FL_ALIGN_CENTER style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: Edit file|#E shortcut: resize: FL_RESIZE_NONE gravity: FL_SouthEast FL_SouthEast name: button_edit callback: C_FormDialogView_InputCB argument: 0 -------------------- class: FL_BUTTON type: RETURN_BUTTON box: 110 415 90 25 boxtype: FL_UP_BOX colors: FL_COL1 FL_COL1 alignment: FL_ALIGN_CENTER style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: OK shortcut: ^M resize: FL_RESIZE_ALL gravity: FL_SouthEast FL_SouthEast name: button_ok callback: C_FormDialogView_OKCB argument: 0 -------------------- class: FL_BUTTON type: NORMAL_BUTTON box: 205 415 90 25 boxtype: FL_UP_BOX colors: FL_COL1 FL_COL1 alignment: FL_ALIGN_CENTER style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: Apply|#A shortcut: resize: FL_RESIZE_ALL gravity: FL_SouthEast FL_SouthEast name: button_apply callback: C_FormDialogView_ApplyCB argument: 0 -------------------- class: FL_BUTTON type: NORMAL_BUTTON box: 300 415 90 25 boxtype: FL_UP_BOX colors: FL_COL1 FL_COL1 alignment: FL_ALIGN_CENTER style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: Cancel|^[ shortcut: resize: FL_RESIZE_ALL gravity: FL_SouthEast FL_SouthEast name: button_close callback: C_FormDialogView_CancelCB argument: 0 =============== FORM =============== Name: form_external_general Width: 380 Height: 145 Number of Objects: 8 -------------------- class: FL_BOX type: UP_BOX box: 0 0 380 145 boxtype: FL_UP_BOX colors: FL_COL1 FL_COL1 alignment: FL_ALIGN_CENTER style: FL_NORMAL_STYLE size: FL_DEFAULT_SIZE lcol: FL_BLACK label: shortcut: resize: FL_RESIZE_ALL gravity: FL_NoGravity FL_NoGravity name: callback: argument: -------------------- class: FL_LABELFRAME type: ENGRAVED_FRAME box: 5 10 370 55 boxtype: FL_NO_BOX colors: FL_BLACK FL_COL1 alignment: FL_ALIGN_TOP_LEFT style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: LyX View shortcut: resize: FL_RESIZE_ALL gravity: FL_NoGravity FL_NoGravity name: callback: argument: -------------------- class: FL_TEXT type: NORMAL_TEXT box: 135 25 25 25 boxtype: FL_FLAT_BOX colors: FL_COL1 FL_MCOL alignment: FL_ALIGN_CENTER|FL_ALIGN_INSIDE style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: % shortcut: resize: FL_RESIZE_NONE gravity: FL_East FL_East name: callback: argument: -------------------- class: FL_INPUT type: NORMAL_INPUT box: 70 25 70 25 boxtype: FL_DOWN_BOX colors: FL_COL1 FL_MCOL alignment: FL_ALIGN_LEFT style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: Scale:|#S shortcut: resize: FL_RESIZE_X gravity: FL_West FL_East name: input_lyxscale callback: C_FormDialogView_InputCB argument: 0 -------------------- class: FL_CHOICE type: NORMAL_CHOICE box: 250 25 115 25 boxtype: FL_FRAME_BOX colors: FL_COL1 FL_BLACK alignment: FL_ALIGN_LEFT style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: Display:|#D shortcut: resize: FL_RESIZE_NONE gravity: FL_East FL_East name: choice_display callback: C_FormDialogView_InputCB argument: 0 -------------------- class: FL_LABELFRAME type: ENGRAVED_FRAME box: 5 80 370 55 boxtype: FL_NO_BOX colors: FL_BLACK FL_COL1 alignment: FL_ALIGN_TOP_LEFT style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: Output options shortcut: resize: FL_RESIZE_ALL gravity: FL_NoGravity FL_NoGravity name: callback: argument: -------------------- class: FL_INPUT type: NORMAL_INPUT box: 70 95 125 25 boxtype: FL_DOWN_BOX colors: FL_COL1 FL_MCOL alignment: FL_ALIGN_LEFT style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: Option|#O shortcut: resize: FL_RESIZE_X gravity: FL_West FL_East name: input_extra callback: C_FormDialogView_InputCB argument: 0 -------------------- class: FL_CHOICE type: NORMAL_CHOICE box: 250 95 115 25 boxtype: FL_FRAME_BOX colors: FL_COL1 FL_BLACK alignment: FL_ALIGN_LEFT style: FL_NORMAL_STYLE size: FL_NORMAL_SIZE lcol: FL_BLACK label: Format|#t shortcut: resize: FL_RESIZE_NONE gravity: FL_East FL_East name: choice_extra_format callback: C_FormDialogView_InputCB argument: 0 =============== FORM =============== Name: form_external_transforms Width: 380 Height: 145 Number of Objects: 1 -------------------- class: FL_BOX type: UP_BOX box: 0 0 380 145 boxtype: FL_UP_BOX colors: FL_COL1 FL_COL1 alignment: FL_ALIGN_CENTER style: FL_NORMAL_STYLE size: FL_DEFAULT_SIZE lcol: FL_BLACK label: shortcut: resize: FL_RESIZE_ALL gravity: FL_NoGravity FL_NoGravity name: callback: argument: ============================== create_the_forms
<<attachment: snapshot1.png>>