Ejemplo n.º 1
0
CSVSettings::GroupBlockDef * CSVSettings::WindowPage::buildDefinedWindowSize()
{
    GroupBlockDef *block = new GroupBlockDef ( "Defined Size");

    SettingsItemDef *widthByHeightItem = new SettingsItemDef ("Window Size", "640x480");
    WidgetDef widthByHeightWidget = WidgetDef (Widget_ComboBox);
    widthByHeightWidget.widgetWidth = 90;
    *(widthByHeightItem->valueList) << "640x480" << "800x600" << "1024x768" << "1440x900";

    QStringList *widthProxy = new QStringList;
    QStringList *heightProxy = new QStringList;

    (*widthProxy) << "Width" << "640" << "800" << "1024" << "1440";
    (*heightProxy) << "Height" << "480" << "600" << "768" << "900";

    *(widthByHeightItem->proxyList) << widthProxy << heightProxy;

    widthByHeightItem->widget = widthByHeightWidget;

    block->settingItems << widthByHeightItem;
    block->isProxy = true;
    block->isVisible = false;

    return block;
}
Ejemplo n.º 2
0
CSVSettings::GroupBlockDef *CSVSettings::WindowPage::buildCustomWindowSize()
{
    GroupBlockDef *block = new GroupBlockDef ("Custom Size");

    //custom width
    SettingsItemDef *widthItem = new SettingsItemDef ("Width", "640");
    widthItem->widget = WidgetDef (Widget_LineEdit);
    widthItem->widget.widgetWidth = 45;
    widthItem->widget.inputMask = "9999";

    //custom height
    SettingsItemDef *heightItem = new SettingsItemDef ("Height", "480");
    heightItem->widget = WidgetDef (Widget_LineEdit);
    heightItem->widget.widgetWidth = 45;
    heightItem->widget.caption = "x";
    heightItem->widget.inputMask = "9999";

    block->settingItems << widthItem << heightItem;
    block->widgetOrientation = Orient_Horizontal;
    block->isVisible = false;

    return block;
}
Ejemplo n.º 3
0
void CSVSettings::EditorPage::setupUi()
{
    GroupBlockDef undoStack (QString("Undo Stack Size"));
    GroupBlockDef topLevelWindowCount (QString("Maximum Top-Level Window Count"));
    GroupBlockDef reuseSubwindow (QString("Reuse Subwindows"));
    GroupBlockDef customWindowSize (QString ("Custom Window Size"));
    GroupBlockDef definedWindowSize (QString ("Pre-Defined Window Size"));
    GroupBlockDef windowSizeToggle (QString ("Window Size"));
    CustomBlockDef windowSize (QString ("Window Size"));

    ////////////////////////////
    //undo stack size property
    ///////////////////////////

    SettingsItemDef *undoStackItem = new SettingsItemDef (undoStack.title, "32");
    undoStack.properties << undoStackItem;
    undoStackItem->minMax.left = "0";
    undoStackItem->minMax.right = "64";

    WidgetDef stackWidget (Widget_SpinBox);
    stackWidget.minMax = &(undoStackItem->minMax);
    stackWidget.widgetWidth = 50;

    undoStackItem->widget = stackWidget;

    //////////////////////////////////////
    //number of top level windows property
    /////////////////////////////////////

    SettingsItemDef *topLevelItem = new SettingsItemDef (topLevelWindowCount.title, "100");
    topLevelWindowCount.properties << topLevelItem;
    topLevelItem->minMax.left = "1";
    topLevelItem->minMax.right = "256";

    WidgetDef topLvlWinWidget (Widget_SpinBox);
    topLvlWinWidget.minMax = &(topLevelItem->minMax);
    topLvlWinWidget.widgetWidth = 50;

    topLevelItem->widget = topLvlWinWidget;

    ///////////////////////////
    //reuse subwindows property
    ////////////////////////////

    SettingsItemDef *reuseSubItem = new SettingsItemDef (reuseSubwindow.title, "Reuse Subwindows");
    *(reuseSubItem->valueList) << "None" << "Top-Level" << "Document-Level";

    WidgetDef reuseSubWidget (Widget_RadioButton);
    reuseSubWidget.valueList = (reuseSubItem->valueList);
    reuseSubWidget.widgetAlignment = Align_Left;

    reuseSubwindow.properties << reuseSubItem;
    reuseSubItem->widget = reuseSubWidget;

    ///////////////////////////////
    //custom window size properties
    ///////////////////////////////

    //custom width
    SettingsItemDef *widthItem = new SettingsItemDef ("Window Width", "640");
    widthItem->widget = WidgetDef (Widget_LineEdit);
    widthItem->widget.widgetWidth = 45;

    //custom height
    SettingsItemDef *heightItem = new SettingsItemDef ("Window Height", "480");
    heightItem->widget = WidgetDef (Widget_LineEdit);
    heightItem->widget.widgetWidth = 45;
    heightItem->widget.caption = "x";

    customWindowSize.properties << widthItem << heightItem;
    customWindowSize.widgetOrientation = Orient_Horizontal;
    customWindowSize.isVisible = false;


    //pre-defined
    SettingsItemDef *widthByHeightItem = new SettingsItemDef ("Window Size", "640x480");
    WidgetDef widthByHeightWidget = WidgetDef (Widget_ComboBox);
    widthByHeightWidget.widgetWidth = 90;
    *(widthByHeightItem->valueList) << "640x480" << "800x600" << "1024x768";

    QStringList *widthProxy = new QStringList;
    QStringList *heightProxy = new QStringList;

    (*widthProxy) << "Window Width" << "640" << "800" << "1024";
    (*heightProxy) << "Window Height" << "480" << "600" << "768";

    *(widthByHeightItem->proxyList) << widthProxy << heightProxy;

    widthByHeightItem->widget = widthByHeightWidget;

    definedWindowSize.properties << widthByHeightItem;
    definedWindowSize.isProxy = true;
    definedWindowSize.isVisible = false;

    // window size toggle
    windowSizeToggle.captions << "Pre-Defined" << "Custom";
    windowSizeToggle.widgetOrientation = Orient_Vertical;
    windowSizeToggle.isVisible = false;

    //define a widget for each group in the toggle
    for (int i = 0; i < 2; i++)
        windowSizeToggle.widgets << new WidgetDef (Widget_RadioButton);

    windowSizeToggle.widgets.at(0)->isDefault = false;

    windowSize.blockDefList << &windowSizeToggle << &definedWindowSize << &customWindowSize;
    windowSize.defaultValue = "Custom";

    QGridLayout *pageLayout = new QGridLayout(this);

    setLayout (pageLayout);

     mAbstractBlocks    << buildBlock<GroupBlock> (topLevelWindowCount)
                        << buildBlock<GroupBlock> (reuseSubwindow)
                        << buildBlock<ToggleBlock> (windowSize)
                        << buildBlock<GroupBlock> (undoStack);

     foreach (AbstractBlock *block, mAbstractBlocks)
     {
         connect (block, SIGNAL (signalUpdateSetting (const QString &, const QString &)),
                  this, SIGNAL (signalUpdateEditorSetting (const QString &, const QString &)) );
     }