void CSMSettings::UserSettings::buildSettingModelDefaults() { QString section; declareSection ("3d-render", "3D Rendering"); { Setting *shaders = createSetting (Type_CheckBox, "shaders", "Enable Shaders"); shaders->setDefaultValue ("true"); Setting *farClipDist = createSetting (Type_DoubleSpinBox, "far-clip-distance", "Far clipping distance"); farClipDist->setDefaultValue (300000); farClipDist->setRange (0, 1000000); farClipDist->setToolTip ("The maximum distance objects are still rendered at."); QString defaultValue = "None"; Setting *antialiasing = createSetting (Type_ComboBox, "antialiasing", "Antialiasing"); antialiasing->setDeclaredValues (QStringList() << defaultValue << "MSAA 2" << "MSAA 4" << "MSAA 8" << "MSAA 16"); antialiasing->setDefaultValue (defaultValue); } declareSection ("3d-render-adv", "3D Rendering (Advanced)"); { Setting *numLights = createSetting (Type_SpinBox, "num_lights", "Number of lights per pass"); numLights->setDefaultValue (8); numLights->setRange (1, 100); } declareSection ("scene-input", "Scene Input"); { Setting *timer = createSetting (Type_SpinBox, "timer", "Input responsiveness"); timer->setDefaultValue (20); timer->setRange (1, 100); timer->setToolTip ("The time between two checks for user input in milliseconds.<p>" "Lower value result in higher responsiveness."); Setting *fastFactor = createSetting (Type_SpinBox, "fast-factor", "Fast movement factor"); fastFactor->setDefaultValue (4); fastFactor->setRange (1, 100); fastFactor->setToolTip ( "Factor by which movement is speed up while the shift key is held down."); } declareSection ("window", "Window"); { Setting *preDefined = createSetting (Type_ComboBox, "pre-defined", "Default window size"); preDefined->setEditorSetting (false); preDefined->setDeclaredValues ( QStringList() << "640 x 480" << "800 x 600" << "1024 x 768" << "1440 x 900"); preDefined->setViewLocation (1, 1); preDefined->setColumnSpan (2); preDefined->setToolTip ("Newly opened top-level windows will open with this size " "(picked from a list of pre-defined values)"); Setting *width = createSetting (Type_LineEdit, "default-width", "Default window width"); width->setDefaultValues (QStringList() << "1024"); width->setViewLocation (2, 1); width->setColumnSpan (1); width->setToolTip ("Newly opened top-level windows will open with this width."); preDefined->addProxy (width, QStringList() << "640" << "800" << "1024" << "1440"); Setting *height = createSetting (Type_LineEdit, "default-height", "Default window height"); height->setDefaultValues (QStringList() << "768"); height->setViewLocation (2, 2); height->setColumnSpan (1); height->setToolTip ("Newly opened top-level windows will open with this height."); preDefined->addProxy (height, QStringList() << "480" << "600" << "768" << "900"); Setting *reuse = createSetting (Type_CheckBox, "reuse", "Reuse Subviews"); reuse->setDefaultValue ("true"); reuse->setToolTip ("When a new subview is requested and a matching subview already " " exist, do not open a new subview and use the existing one instead."); Setting *statusBar = createSetting (Type_CheckBox, "show-statusbar", "Show Status Bar"); statusBar->setDefaultValue ("true"); statusBar->setToolTip ("If a newly open top level window is showing status bars or not. " " Note that this does not affect existing windows."); Setting *maxSubView = createSetting (Type_SpinBox, "max-subviews", "Maximum number of subviews per top-level window"); maxSubView->setDefaultValue (256); maxSubView->setRange (1, 256); maxSubView->setToolTip ("If the maximum number is reached and a new subview is opened " "it will be placed into a new top-level window."); Setting *hide = createSetting (Type_CheckBox, "hide-subview", "Hide single subview"); hide->setDefaultValue ("false"); hide->setToolTip ("When a view contains only a single subview, hide the subview title " "bar and if this subview is closed also close the view (unless it is the last " "view for this document)"); Setting *minWidth = createSetting (Type_SpinBox, "minimum-width", "Minimum subview width"); minWidth->setDefaultValue (325); minWidth->setRange (50, 10000); minWidth->setToolTip ("Minimum width of subviews."); } declareSection ("records", "Records"); { QString defaultValue = "Icon and Text"; QStringList values = QStringList() << defaultValue << "Icon Only" << "Text Only"; Setting *rsd = createSetting (Type_RadioButton, "status-format", "Modification status display format"); rsd->setDefaultValue (defaultValue); rsd->setDeclaredValues (values); Setting *ritd = createSetting (Type_RadioButton, "type-format", "ID type display format"); ritd->setDefaultValue (defaultValue); ritd->setDeclaredValues (values); } declareSection ("table-input", "Table Input"); { QString inPlaceEdit ("Edit in Place"); QString editRecord ("Edit Record"); QString view ("View"); QString editRecordAndClose ("Edit Record and Close"); QStringList values; values << "None" << inPlaceEdit << editRecord << view << "Revert" << "Delete" << editRecordAndClose << "View and Close"; QString toolTip = "<ul>" "<li>None</li>" "<li>Edit in Place: Edit the clicked cell</li>" "<li>Edit Record: Open a dialogue subview for the clicked record</li>" "<li>View: Open a scene subview for the clicked record (not available everywhere)</li>" "<li>Revert: Revert record</li>" "<li>Delete: Delete recordy</li>" "<li>Edit Record and Close: Open a dialogue subview for the clicked record and close the table subview</li>" "<li>View And Close: Open a scene subview for the clicked record and close the table subview</li>" "</ul>"; Setting *doubleClick = createSetting (Type_ComboBox, "double", "Double Click"); doubleClick->setDeclaredValues (values); doubleClick->setDefaultValue (inPlaceEdit); doubleClick->setToolTip ("Action on double click in table:<p>" + toolTip); Setting *shiftDoubleClick = createSetting (Type_ComboBox, "double-s", "Shift Double Click"); shiftDoubleClick->setDeclaredValues (values); shiftDoubleClick->setDefaultValue (editRecord); shiftDoubleClick->setToolTip ("Action on shift double click in table:<p>" + toolTip); Setting *ctrlDoubleClick = createSetting (Type_ComboBox, "double-c", "Control Double Click"); ctrlDoubleClick->setDeclaredValues (values); ctrlDoubleClick->setDefaultValue (view); ctrlDoubleClick->setToolTip ("Action on control double click in table:<p>" + toolTip); Setting *shiftCtrlDoubleClick = createSetting (Type_ComboBox, "double-sc", "Shift Control Double Click"); shiftCtrlDoubleClick->setDeclaredValues (values); shiftCtrlDoubleClick->setDefaultValue (editRecordAndClose); shiftCtrlDoubleClick->setToolTip ("Action on shift control double click in table:<p>" + toolTip); } { /****************************************************************** * There are three types of values: * * Declared values * * Pre-determined values, typically for * combobox drop downs and boolean (radiobutton / checkbox) labels. * These values represent the total possible list of values that * may define a setting. No other values are allowed. * * Defined values * * Values which represent the actual, current value of * a setting. For settings with declared values, this must be one * or several declared values, as appropriate. * * Proxy values * Values the proxy master updates the proxy slave when * it's own definition is set / changed. These are definitions for * proxy slave settings, but must match any declared values the * proxy slave has, if any. *******************************************************************/ /* //create setting objects, specifying the basic widget type, //the page name, and the view name Setting *masterBoolean = createSetting (Type_RadioButton, section, "Master Proxy"); Setting *slaveBoolean = createSetting (Type_CheckBox, section, "Proxy Checkboxes"); Setting *slaveSingleText = createSetting (Type_LineEdit, section, "Proxy TextBox 1"); Setting *slaveMultiText = createSetting (Type_LineEdit, section, "ProxyTextBox 2"); Setting *slaveAlphaSpinbox = createSetting (Type_SpinBox, section, "Alpha Spinbox"); Setting *slaveIntegerSpinbox = createSetting (Type_SpinBox, section, "Int Spinbox"); Setting *slaveDoubleSpinbox = createSetting (Type_DoubleSpinBox, section, "Double Spinbox"); Setting *slaveSlider = createSetting (Type_Slider, section, "Slider"); Setting *slaveDial = createSetting (Type_Dial, section, "Dial"); //set declared values for selected views masterBoolean->setDeclaredValues (QStringList() << "Profile One" << "Profile Two" << "Profile Three" << "Profile Four"); slaveBoolean->setDeclaredValues (QStringList() << "One" << "Two" << "Three" << "Four" << "Five"); slaveAlphaSpinbox->setDeclaredValues (QStringList() << "One" << "Two" << "Three" << "Four"); masterBoolean->addProxy (slaveBoolean, QList <QStringList>() << (QStringList() << "One" << "Three") << (QStringList() << "One" << "Three") << (QStringList() << "One" << "Three" << "Five") << (QStringList() << "Two" << "Four") ); masterBoolean->addProxy (slaveSingleText, QList <QStringList>() << (QStringList() << "Text A") << (QStringList() << "Text B") << (QStringList() << "Text A") << (QStringList() << "Text C") ); masterBoolean->addProxy (slaveMultiText, QList <QStringList>() << (QStringList() << "One" << "Three") << (QStringList() << "One" << "Three") << (QStringList() << "One" << "Three" << "Five") << (QStringList() << "Two" << "Four") ); masterBoolean->addProxy (slaveAlphaSpinbox, QList <QStringList>() << (QStringList() << "Four") << (QStringList() << "Three") << (QStringList() << "Two") << (QStringList() << "One")); masterBoolean->addProxy (slaveIntegerSpinbox, QList <QStringList> () << (QStringList() << "0") << (QStringList() << "7") << (QStringList() << "14") << (QStringList() << "21")); masterBoolean->addProxy (slaveDoubleSpinbox, QList <QStringList> () << (QStringList() << "0.17") << (QStringList() << "0.34") << (QStringList() << "0.51") << (QStringList() << "0.68")); masterBoolean->addProxy (slaveSlider, QList <QStringList> () << (QStringList() << "25") << (QStringList() << "50") << (QStringList() << "75") << (QStringList() << "100") ); masterBoolean->addProxy (slaveDial, QList <QStringList> () << (QStringList() << "25") << (QStringList() << "50") << (QStringList() << "75") << (QStringList() << "100") ); //settings with proxies are not serialized by default //other settings non-serialized for demo purposes slaveBoolean->setSerializable (false); slaveSingleText->setSerializable (false); slaveMultiText->setSerializable (false); slaveAlphaSpinbox->setSerializable (false); slaveIntegerSpinbox->setSerializable (false); slaveDoubleSpinbox->setSerializable (false); slaveSlider->setSerializable (false); slaveDial->setSerializable (false); slaveBoolean->setDefaultValues (QStringList() << "One" << "Three" << "Five"); slaveSingleText->setDefaultValue ("Text A"); slaveMultiText->setDefaultValues (QStringList() << "One" << "Three" << "Five"); slaveSingleText->setWidgetWidth (24); slaveMultiText->setWidgetWidth (24); slaveAlphaSpinbox->setDefaultValue ("Two"); slaveAlphaSpinbox->setWidgetWidth (20); //slaveAlphaSpinbox->setPrefix ("No. "); //slaveAlphaSpinbox->setSuffix ("!"); slaveAlphaSpinbox->setWrapping (true); slaveIntegerSpinbox->setDefaultValue (14); slaveIntegerSpinbox->setMinimum (0); slaveIntegerSpinbox->setMaximum (58); slaveIntegerSpinbox->setPrefix ("$"); slaveIntegerSpinbox->setSuffix (".00"); slaveIntegerSpinbox->setWidgetWidth (10); slaveIntegerSpinbox->setSpecialValueText ("Nothing!"); slaveDoubleSpinbox->setDefaultValue (0.51); slaveDoubleSpinbox->setSingleStep(0.17); slaveDoubleSpinbox->setMaximum(4.0); slaveSlider->setMinimum (0); slaveSlider->setMaximum (100); slaveSlider->setDefaultValue (75); slaveSlider->setWidgetWidth (100); slaveSlider->setTicksAbove (true); slaveSlider->setTickInterval (25); slaveDial->setMinimum (0); slaveDial->setMaximum (100); slaveDial->setSingleStep (5); slaveDial->setDefaultValue (75); slaveDial->setTickInterval (25); */ } }
void CSMSettings::UserSettings::buildSettingModelDefaults() { /* declareSection ("3d-render", "3D Rendering"); { Setting *farClipDist = createSetting (Type_DoubleSpinBox, "far-clip-distance", "Far clipping distance"); farClipDist->setDefaultValue (300000); farClipDist->setRange (0, 1000000); farClipDist->setToolTip ("The maximum distance objects are still rendered at."); QString defaultValue = "None"; Setting *antialiasing = createSetting (Type_ComboBox, "antialiasing", "Antialiasing"); antialiasing->setDeclaredValues (QStringList() << defaultValue << "MSAA 2" << "MSAA 4" << "MSAA 8" << "MSAA 16"); antialiasing->setDefaultValue (defaultValue); } */ /* declareSection ("scene-input", "Scene Input"); { Setting *fastFactor = createSetting (Type_SpinBox, "fast-factor", "Fast movement factor"); fastFactor->setDefaultValue (4); fastFactor->setRange (1, 100); fastFactor->setToolTip ( "Factor by which movement is speed up while the shift key is held down."); } */ declareSection ("window", "Window"); { Setting *preDefined = createSetting (Type_ComboBox, "pre-defined", "Default window size"); preDefined->setEditorSetting (false); preDefined->setDeclaredValues ( QStringList() << "640 x 480" << "800 x 600" << "1024 x 768" << "1440 x 900"); preDefined->setViewLocation (1, 1); preDefined->setColumnSpan (2); preDefined->setToolTip ("Newly opened top-level windows will open with this size " "(picked from a list of pre-defined values)"); Setting *width = createSetting (Type_LineEdit, "default-width", "Default window width"); width->setDefaultValues (QStringList() << "1024"); width->setViewLocation (2, 1); width->setColumnSpan (1); width->setToolTip ("Newly opened top-level windows will open with this width."); preDefined->addProxy (width, QStringList() << "640" << "800" << "1024" << "1440"); Setting *height = createSetting (Type_LineEdit, "default-height", "Default window height"); height->setDefaultValues (QStringList() << "768"); height->setViewLocation (2, 2); height->setColumnSpan (1); height->setToolTip ("Newly opened top-level windows will open with this height."); preDefined->addProxy (height, QStringList() << "480" << "600" << "768" << "900"); Setting *reuse = createSetting (Type_CheckBox, "reuse", "Reuse Subviews"); reuse->setDefaultValue ("true"); reuse->setToolTip ("When a new subview is requested and a matching subview already " " exist, do not open a new subview and use the existing one instead."); Setting *statusBar = createSetting (Type_CheckBox, "show-statusbar", "Show Status Bar"); statusBar->setDefaultValue ("true"); statusBar->setToolTip ("If a newly open top level window is showing status bars or not. " " Note that this does not affect existing windows."); Setting *maxSubView = createSetting (Type_SpinBox, "max-subviews", "Maximum number of subviews per top-level window"); maxSubView->setDefaultValue (256); maxSubView->setRange (1, 256); maxSubView->setToolTip ("If the maximum number is reached and a new subview is opened " "it will be placed into a new top-level window."); Setting *hide = createSetting (Type_CheckBox, "hide-subview", "Hide single subview"); hide->setDefaultValue ("false"); hide->setToolTip ("When a view contains only a single subview, hide the subview title " "bar and if this subview is closed also close the view (unless it is the last " "view for this document)"); Setting *minWidth = createSetting (Type_SpinBox, "minimum-width", "Minimum subview width"); minWidth->setDefaultValue (325); minWidth->setRange (50, 10000); minWidth->setToolTip ("Minimum width of subviews."); QString defaultScroll = "Scrollbar Only"; QStringList scrollValues = QStringList() << defaultScroll << "Grow Only" << "Grow then Scroll"; Setting *mainwinScroll = createSetting (Type_RadioButton, "mainwindow-scrollbar", "Add a horizontal scrollbar to the main view window."); mainwinScroll->setDefaultValue (defaultScroll); mainwinScroll->setDeclaredValues (scrollValues); mainwinScroll->setToolTip ("Scrollbar Only: Simple addition of scrollbars, the view window does not grow" " automatically.\n" "Grow Only: Original Editor behaviour. The view window grows as subviews are added. No scrollbars.\n" "Grow then Scroll: The view window grows. The scrollbar appears once it cannot grow any further."); Setting *grow = createSetting (Type_CheckBox, "grow-limit", "Grow Limit Screen"); grow->setDefaultValue ("false"); grow->setToolTip ("When \"Grow then Scroll\" option is selected, the window size grows to" " the width of the virtual desktop. \nIf this option is selected the the window growth" "is limited to the current screen."); } declareSection ("records", "Records"); { QString defaultValue = "Icon and Text"; QStringList values = QStringList() << defaultValue << "Icon Only" << "Text Only"; Setting *rsd = createSetting (Type_RadioButton, "status-format", "Modification status display format"); rsd->setDefaultValue (defaultValue); rsd->setDeclaredValues (values); Setting *ritd = createSetting (Type_RadioButton, "type-format", "ID type display format"); ritd->setDefaultValue (defaultValue); ritd->setDeclaredValues (values); } declareSection ("table-input", "ID Tables"); { QString inPlaceEdit ("Edit in Place"); QString editRecord ("Edit Record"); QString view ("View"); QString editRecordAndClose ("Edit Record and Close"); QStringList values; values << "None" << inPlaceEdit << editRecord << view << "Revert" << "Delete" << editRecordAndClose << "View and Close"; QString toolTip = "<ul>" "<li>None</li>" "<li>Edit in Place: Edit the clicked cell</li>" "<li>Edit Record: Open a dialogue subview for the clicked record</li>" "<li>View: Open a scene subview for the clicked record (not available everywhere)</li>" "<li>Revert: Revert record</li>" "<li>Delete: Delete recordy</li>" "<li>Edit Record and Close: Open a dialogue subview for the clicked record and close the table subview</li>" "<li>View And Close: Open a scene subview for the clicked record and close the table subview</li>" "</ul>"; Setting *doubleClick = createSetting (Type_ComboBox, "double", "Double Click"); doubleClick->setDeclaredValues (values); doubleClick->setDefaultValue (inPlaceEdit); doubleClick->setToolTip ("Action on double click in table:<p>" + toolTip); Setting *shiftDoubleClick = createSetting (Type_ComboBox, "double-s", "Shift Double Click"); shiftDoubleClick->setDeclaredValues (values); shiftDoubleClick->setDefaultValue (editRecord); shiftDoubleClick->setToolTip ("Action on shift double click in table:<p>" + toolTip); Setting *ctrlDoubleClick = createSetting (Type_ComboBox, "double-c", "Control Double Click"); ctrlDoubleClick->setDeclaredValues (values); ctrlDoubleClick->setDefaultValue (view); ctrlDoubleClick->setToolTip ("Action on control double click in table:<p>" + toolTip); Setting *shiftCtrlDoubleClick = createSetting (Type_ComboBox, "double-sc", "Shift Control Double Click"); shiftCtrlDoubleClick->setDeclaredValues (values); shiftCtrlDoubleClick->setDefaultValue (editRecordAndClose); shiftCtrlDoubleClick->setToolTip ("Action on shift control double click in table:<p>" + toolTip); QString defaultValue = "Jump and Select"; QStringList jumpValues = QStringList() << defaultValue << "Jump Only" << "No Jump"; Setting *jumpToAdded = createSetting (Type_RadioButton, "jump-to-added", "Jump to the added or cloned record."); jumpToAdded->setDefaultValue (defaultValue); jumpToAdded->setDeclaredValues (jumpValues); Setting *extendedConfig = createSetting (Type_CheckBox, "extended-config", "Manually specify affected record types for an extended delete/revert"); extendedConfig->setDefaultValue("false"); extendedConfig->setToolTip("Delete and revert commands have an extended form that also affects " "associated records.\n\n" "If this option is enabled, types of affected records are selected " "manually before a command execution.\nOtherwise, all associated " "records are deleted/reverted immediately."); } declareSection ("dialogues", "ID Dialogues"); { Setting *toolbar = createSetting (Type_CheckBox, "toolbar", "Show toolbar"); toolbar->setDefaultValue ("true"); } declareSection ("report-input", "Reports"); { QString none ("None"); QString edit ("Edit"); QString remove ("Remove"); QString editAndRemove ("Edit And Remove"); QStringList values; values << none << edit << remove << editAndRemove; QString toolTip = "<ul>" "<li>None</li>" "<li>Edit: Open a table or dialogue suitable for addressing the listed report</li>" "<li>Remove: Remove the report from the report table</li>" "<li>Edit and Remove: Open a table or dialogue suitable for addressing the listed report, then remove the report from the report table</li>" "</ul>"; Setting *doubleClick = createSetting (Type_ComboBox, "double", "Double Click"); doubleClick->setDeclaredValues (values); doubleClick->setDefaultValue (edit); doubleClick->setToolTip ("Action on double click in report table:<p>" + toolTip); Setting *shiftDoubleClick = createSetting (Type_ComboBox, "double-s", "Shift Double Click"); shiftDoubleClick->setDeclaredValues (values); shiftDoubleClick->setDefaultValue (remove); shiftDoubleClick->setToolTip ("Action on shift double click in report table:<p>" + toolTip); Setting *ctrlDoubleClick = createSetting (Type_ComboBox, "double-c", "Control Double Click"); ctrlDoubleClick->setDeclaredValues (values); ctrlDoubleClick->setDefaultValue (editAndRemove); ctrlDoubleClick->setToolTip ("Action on control double click in report table:<p>" + toolTip); Setting *shiftCtrlDoubleClick = createSetting (Type_ComboBox, "double-sc", "Shift Control Double Click"); shiftCtrlDoubleClick->setDeclaredValues (values); shiftCtrlDoubleClick->setDefaultValue (none); shiftCtrlDoubleClick->setToolTip ("Action on shift control double click in report table:<p>" + toolTip); } declareSection ("search", "Search & Replace"); { Setting *before = createSetting (Type_SpinBox, "char-before", "Characters before search string"); before->setDefaultValue (10); before->setRange (0, 1000); before->setToolTip ("Maximum number of character to display in search result before the searched text"); Setting *after = createSetting (Type_SpinBox, "char-after", "Characters after search string"); after->setDefaultValue (10); after->setRange (0, 1000); after->setToolTip ("Maximum number of character to display in search result after the searched text"); Setting *autoDelete = createSetting (Type_CheckBox, "auto-delete", "Delete row from result table after a successful replace"); autoDelete->setDefaultValue ("true"); } declareSection ("script-editor", "Scripts"); { Setting *lineNum = createSetting (Type_CheckBox, "show-linenum", "Show Line Numbers"); lineNum->setDefaultValue ("true"); lineNum->setToolTip ("Show line numbers to the left of the script editor window." "The current row and column numbers of the text cursor are shown at the bottom."); Setting *monoFont = createSetting (Type_CheckBox, "mono-font", "Use monospace font"); monoFont->setDefaultValue ("true"); monoFont->setToolTip ("Whether to use monospaced fonts on script edit subview."); QString tooltip = "\n#RGB (each of R, G, and B is a single hex digit)" "\n#RRGGBB" "\n#RRRGGGBBB" "\n#RRRRGGGGBBBB" "\nA name from the list of colors defined in the list of SVG color keyword names." "\nX11 color names may also work."; QString modeNormal ("Normal"); QStringList modes; modes << "Ignore" << modeNormal << "Strict"; Setting *warnings = createSetting (Type_ComboBox, "warnings", "Warning Mode"); warnings->setDeclaredValues (modes); warnings->setDefaultValue (modeNormal); warnings->setToolTip ("<ul>How to handle warning messages during compilation:<p>" "<li>Ignore: Do not report warning</li>" "<li>Normal: Report warning as a warning</li>" "<li>Strict: Promote warning to an error</li>" "</ul>"); Setting *toolbar = createSetting (Type_CheckBox, "toolbar", "Show toolbar"); toolbar->setDefaultValue ("true"); Setting *delay = createSetting (Type_SpinBox, "compile-delay", "Delay between updating of source errors"); delay->setDefaultValue (100); delay->setRange (0, 10000); delay->setToolTip ("Delay in milliseconds"); Setting *errorHeight = createSetting (Type_SpinBox, "error-height", "Initial height of the error panel"); errorHeight->setDefaultValue (100); errorHeight->setRange (100, 10000); Setting *formatInt = createSetting (Type_LineEdit, "colour-int", "Highlight Colour: Int"); formatInt->setDefaultValues (QStringList() << "Dark magenta"); formatInt->setToolTip ("(Default: Green) Use one of the following formats:" + tooltip); Setting *formatFloat = createSetting (Type_LineEdit, "colour-float", "Highlight Colour: Float"); formatFloat->setDefaultValues (QStringList() << "Magenta"); formatFloat->setToolTip ("(Default: Magenta) Use one of the following formats:" + tooltip); Setting *formatName = createSetting (Type_LineEdit, "colour-name", "Highlight Colour: Name"); formatName->setDefaultValues (QStringList() << "Gray"); formatName->setToolTip ("(Default: Gray) Use one of the following formats:" + tooltip); Setting *formatKeyword = createSetting (Type_LineEdit, "colour-keyword", "Highlight Colour: Keyword"); formatKeyword->setDefaultValues (QStringList() << "Red"); formatKeyword->setToolTip ("(Default: Red) Use one of the following formats:" + tooltip); Setting *formatSpecial = createSetting (Type_LineEdit, "colour-special", "Highlight Colour: Special"); formatSpecial->setDefaultValues (QStringList() << "Dark yellow"); formatSpecial->setToolTip ("(Default: Dark yellow) Use one of the following formats:" + tooltip); Setting *formatComment = createSetting (Type_LineEdit, "colour-comment", "Highlight Colour: Comment"); formatComment->setDefaultValues (QStringList() << "Green"); formatComment->setToolTip ("(Default: Green) Use one of the following formats:" + tooltip); Setting *formatId = createSetting (Type_LineEdit, "colour-id", "Highlight Colour: Id"); formatId->setDefaultValues (QStringList() << "Blue"); formatId->setToolTip ("(Default: Blue) Use one of the following formats:" + tooltip); } declareSection ("general-input", "General Input"); { Setting *cycle = createSetting (Type_CheckBox, "cycle", "Cyclic next/previous"); cycle->setDefaultValue ("false"); cycle->setToolTip ("When using next/previous functions at the last/first item of a " "list go to the first/last item"); } declareSection ("scene-input", "3D Scene Input"); { QString left ("Left Mouse-Button"); QString cLeft ("Ctrl-Left Mouse-Button"); QString right ("Right Mouse-Button"); QString cRight ("Ctrl-Right Mouse-Button"); QString middle ("Middle Mouse-Button"); QString cMiddle ("Ctrl-Middle Mouse-Button"); QStringList values; values << left << cLeft << right << cRight << middle << cMiddle; Setting *primaryNavigation = createSetting (Type_ComboBox, "p-navi", "Primary Camera Navigation Button"); primaryNavigation->setDeclaredValues (values); primaryNavigation->setDefaultValue (left); Setting *secondaryNavigation = createSetting (Type_ComboBox, "s-navi", "Secondary Camera Navigation Button"); secondaryNavigation->setDeclaredValues (values); secondaryNavigation->setDefaultValue (cLeft); Setting *primaryEditing = createSetting (Type_ComboBox, "p-edit", "Primary Editing Button"); primaryEditing->setDeclaredValues (values); primaryEditing->setDefaultValue (right); Setting *secondaryEditing = createSetting (Type_ComboBox, "s-edit", "Secondary Editing Button"); secondaryEditing->setDeclaredValues (values); secondaryEditing->setDefaultValue (cRight); Setting *primarySelection = createSetting (Type_ComboBox, "p-select", "Selection Button"); primarySelection->setDeclaredValues (values); primarySelection->setDefaultValue (middle); Setting *secondarySelection = createSetting (Type_ComboBox, "s-select", "Selection Button"); secondarySelection->setDeclaredValues (values); secondarySelection->setDefaultValue (cMiddle); Setting *contextSensitive = createSetting (Type_CheckBox, "context-select", "Context Sensitive Selection"); contextSensitive->setDefaultValue ("false"); Setting *dragMouseSensitivity = createSetting (Type_DoubleSpinBox, "drag-factor", "Mouse sensitivity during drag operations"); dragMouseSensitivity->setDefaultValue (1.0); dragMouseSensitivity->setRange (0.001, 100.0); Setting *dragWheelSensitivity = createSetting (Type_DoubleSpinBox, "drag-wheel-factor", "Mouse wheel sensitivity during drag operations"); dragWheelSensitivity->setDefaultValue (1.0); dragWheelSensitivity->setRange (0.001, 100.0); Setting *dragShiftFactor = createSetting (Type_DoubleSpinBox, "drag-shift-factor", "Acceleration factor during drag operations while holding down shift"); dragShiftFactor->setDefaultValue (4.0); dragShiftFactor->setRange (0.001, 100.0); } declareSection ("tooltips", "Tooltips"); { Setting *scene = createSetting (Type_CheckBox, "scene", "Show Tooltips in 3D scenes"); scene->setDefaultValue ("true"); Setting *sceneHideBasic = createSetting (Type_CheckBox, "scene-hide-basic", "Hide basic 3D scenes tooltips"); sceneHideBasic->setDefaultValue ("false"); Setting *sceneDelay = createSetting (Type_SpinBox, "scene-delay", "Tooltip delay in milliseconds"); sceneDelay->setDefaultValue (500); sceneDelay->setRange (1, 10000); } { /****************************************************************** * There are three types of values: * * Declared values * * Pre-determined values, typically for * combobox drop downs and boolean (radiobutton / checkbox) labels. * These values represent the total possible list of values that * may define a setting. No other values are allowed. * * Defined values * * Values which represent the actual, current value of * a setting. For settings with declared values, this must be one * or several declared values, as appropriate. * * Proxy values * Values the proxy master updates the proxy slave when * it's own definition is set / changed. These are definitions for * proxy slave settings, but must match any declared values the * proxy slave has, if any. *******************************************************************/ /* //create setting objects, specifying the basic widget type, //the page name, and the view name Setting *masterBoolean = createSetting (Type_RadioButton, section, "Master Proxy"); Setting *slaveBoolean = createSetting (Type_CheckBox, section, "Proxy Checkboxes"); Setting *slaveSingleText = createSetting (Type_LineEdit, section, "Proxy TextBox 1"); Setting *slaveMultiText = createSetting (Type_LineEdit, section, "ProxyTextBox 2"); Setting *slaveAlphaSpinbox = createSetting (Type_SpinBox, section, "Alpha Spinbox"); Setting *slaveIntegerSpinbox = createSetting (Type_SpinBox, section, "Int Spinbox"); Setting *slaveDoubleSpinbox = createSetting (Type_DoubleSpinBox, section, "Double Spinbox"); Setting *slaveSlider = createSetting (Type_Slider, section, "Slider"); Setting *slaveDial = createSetting (Type_Dial, section, "Dial"); //set declared values for selected views masterBoolean->setDeclaredValues (QStringList() << "Profile One" << "Profile Two" << "Profile Three" << "Profile Four"); slaveBoolean->setDeclaredValues (QStringList() << "One" << "Two" << "Three" << "Four" << "Five"); slaveAlphaSpinbox->setDeclaredValues (QStringList() << "One" << "Two" << "Three" << "Four"); masterBoolean->addProxy (slaveBoolean, QList <QStringList>() << (QStringList() << "One" << "Three") << (QStringList() << "One" << "Three") << (QStringList() << "One" << "Three" << "Five") << (QStringList() << "Two" << "Four") ); masterBoolean->addProxy (slaveSingleText, QList <QStringList>() << (QStringList() << "Text A") << (QStringList() << "Text B") << (QStringList() << "Text A") << (QStringList() << "Text C") ); masterBoolean->addProxy (slaveMultiText, QList <QStringList>() << (QStringList() << "One" << "Three") << (QStringList() << "One" << "Three") << (QStringList() << "One" << "Three" << "Five") << (QStringList() << "Two" << "Four") ); masterBoolean->addProxy (slaveAlphaSpinbox, QList <QStringList>() << (QStringList() << "Four") << (QStringList() << "Three") << (QStringList() << "Two") << (QStringList() << "One")); masterBoolean->addProxy (slaveIntegerSpinbox, QList <QStringList> () << (QStringList() << "0") << (QStringList() << "7") << (QStringList() << "14") << (QStringList() << "21")); masterBoolean->addProxy (slaveDoubleSpinbox, QList <QStringList> () << (QStringList() << "0.17") << (QStringList() << "0.34") << (QStringList() << "0.51") << (QStringList() << "0.68")); masterBoolean->addProxy (slaveSlider, QList <QStringList> () << (QStringList() << "25") << (QStringList() << "50") << (QStringList() << "75") << (QStringList() << "100") ); masterBoolean->addProxy (slaveDial, QList <QStringList> () << (QStringList() << "25") << (QStringList() << "50") << (QStringList() << "75") << (QStringList() << "100") ); //settings with proxies are not serialized by default //other settings non-serialized for demo purposes slaveBoolean->setSerializable (false); slaveSingleText->setSerializable (false); slaveMultiText->setSerializable (false); slaveAlphaSpinbox->setSerializable (false); slaveIntegerSpinbox->setSerializable (false); slaveDoubleSpinbox->setSerializable (false); slaveSlider->setSerializable (false); slaveDial->setSerializable (false); slaveBoolean->setDefaultValues (QStringList() << "One" << "Three" << "Five"); slaveSingleText->setDefaultValue ("Text A"); slaveMultiText->setDefaultValues (QStringList() << "One" << "Three" << "Five"); slaveSingleText->setWidgetWidth (24); slaveMultiText->setWidgetWidth (24); slaveAlphaSpinbox->setDefaultValue ("Two"); slaveAlphaSpinbox->setWidgetWidth (20); //slaveAlphaSpinbox->setPrefix ("No. "); //slaveAlphaSpinbox->setSuffix ("!"); slaveAlphaSpinbox->setWrapping (true); slaveIntegerSpinbox->setDefaultValue (14); slaveIntegerSpinbox->setMinimum (0); slaveIntegerSpinbox->setMaximum (58); slaveIntegerSpinbox->setPrefix ("$"); slaveIntegerSpinbox->setSuffix (".00"); slaveIntegerSpinbox->setWidgetWidth (10); slaveIntegerSpinbox->setSpecialValueText ("Nothing!"); slaveDoubleSpinbox->setDefaultValue (0.51); slaveDoubleSpinbox->setSingleStep(0.17); slaveDoubleSpinbox->setMaximum(4.0); slaveSlider->setMinimum (0); slaveSlider->setMaximum (100); slaveSlider->setDefaultValue (75); slaveSlider->setWidgetWidth (100); slaveSlider->setTicksAbove (true); slaveSlider->setTickInterval (25); slaveDial->setMinimum (0); slaveDial->setMaximum (100); slaveDial->setSingleStep (5); slaveDial->setDefaultValue (75); slaveDial->setTickInterval (25); */ } }