CabMasterPro User Guide
In This Topic
    Friendly Pages
    In This Topic

    Defining Questions and Answers

    Most values in CabMasterPro can be controlled using formulas. For example, you can use formulas to control recesses, overhangs, appearance, or the presence or absence of parts of a cabinet. Formulas may also give results that you can use in other formulas. This is very similar to the way spreadsheets use formulas. The formulas in CabMasterPro are similar to those in spreadsheet programs. However, instead of referring to cells in a spreadsheet by row and column, CabMasterPro uses named values. Some names are pre-defined. However, cabinet or library designers can define their own names.

    For example, a value might be named 'base_tops_in_cabinets'. Names can use upper and lower case letters, digits, and the underscore ('_') character. Upper and lower case letters are treated the same, so, for example, 'XYZ' and 'xyz' are treated as the same name. A good library design principle is to ensure that names for related values start with the same prefix. For example, all values related to base cabinets might have a name beginning with 'base_'.

    Whilst this helps organise the library design, it is still confusing for the people using the library on a day-to-day basis to have to deal with these complicated looking names. CabMasterPro lets the library designer design "Friendly Pages" where related values can be grouped together and referred to with meaningful questions. In the case of 'base_tops_in_cabinets', we can group it together with other questions about base cabinets and we can provide a question like "Tops in cabinet box?" to control it. The designer uses the "Define" set of pages to define these questions and group them together.

    Remember that you need to uncheck the Only show friendly pages option as shown to view these pages.

    Click to Expand

    Click to Expand

    Using the Define pages

    The "Define" set of pages provides the facility for editing Friendly Page questions. You can access them by opening a Properties sheet (of the Library, Drawing, Page, or Cabinet) and picking 'Answers & Setup' from the Category/group selector box.

    The pages under the "Answers & Setup" category include :-

    A Category is a group/set of pages, which can be selected from the left hand side of the property sheet. When you have created a Category/group, you can add 'Pages' to it, and then add 'Questions' to an existing page. (Click on image to view example).

    Properties Sheet -  Click to view Questions on an existing page 

    Properties Sheet -  Click to view Questions on an existing page 

    Most of the toolbar buttons on the Define pages have common functions, so will only be mentioned once:

    Export Export Exports to an ASCII tab-separated or XML format - only export minimal info
    Export/Import Export & Import

    Generates the export file in a temporary folder, then watches for changes – when you edit and resave it, CabMaster will reimport and update, displaying the change.

    The most reasonable use-case is to export to xml and associate the xml file with an xml editor.

    Import Import Merge from a tab-delimited ASCII or XML file into the current drawing
    New New Creates a new category(group), page or question
    Delete Delete Removes the selected category(group), page or question
    Cut/Copy/Paste Cut Copy Paste Same as the equivalent Windows controls, except works on categories(groups), pages or questions
    Move Top/Bottom Move Top Bottom Move the selected category(group), page or question to the first or last position in the list
    Move Up/Down Move Up Down Moves the selected category(group), page or question one position up or down the list
    Open Open Load a set of tabs from a QIQ file into current category(group) (see QIQ Files below)
    Save Save Saves the current category/group of pages to a QIQ file

    The "Open" and "Save" controls are only available on the Define Groups/Category and Define Tabs/Page, and allow you to import and export sets of Friendly Pages to QIQ Files (CabMasterPro Questions).

    The Define Page has a drop down list labelled 'Category'. This is where you select which category/group the current page is in.

    Similarly, the Define Questions page has a 'Group/Category' list and a 'Tab/Page' list, which determines which category/group and page the current questions are on.

    Define Categories

    The 'Define Category' page displays the current list of Friendly Page groups. These groups appear as options in the Category/group selector in the Category tree column on the left of the property sheet and are used for arranging pages into logical categories.

    Click on image to view the Friendly Editor accessed by clicking on the applicable button.

    Click to view Friendly Editor

    Click to view Friendly Editor

    There three (3) columns in the Define Groups list are :-

    • Name is the text that will be displayed in the group list, and you should have a unique name for each group.
    • The Enable field allows you to hide or show each group individually, and can be used to hide advanced options from novice users for example. The Enable field must evaluate to a Yes/No answer, so you can type in one of these constants or have a formula which evaluates to one of them. You can even have an Enable field controlled by another Friendly Page, and this has been done in the sample libraries with the "Properties Enable Page".
    • EnableLCM is similar to Enable, but controls the visibility of the group when editing a catalog with Library Catalog Manager (LCM), rather than during normal drawing.

    Define Pages

    Define Pages is very similar to the Define Groups page, with the addition of a list box and the save and load controls. The list is used to select which group the current tab appears in, and the two extra buttons Open Save Buttons are used for exporting and importing sets of tabs called QIQ Files.

    Clicking on a page heading displays the appropriate page and hides the others.

    Define Page
       

    Fields

    The fields in the Define pages list are:
    • Name:
      The Name field is like that for groups, it is the text which will appear on the page itself.
    • OnShow:
      This action formula is evaluated whenever that friendly page tab goes on display. It can be used for additional control of the preview pane, or for other things, depending on the choice of formula. See also Formula Reference _OnShow.
    • Check Valid:
      The Check Valid field can hold a formula which evaluates to a Yes/No answer and lets you check the values that the user has entered on that page. The formula is evaluated when the user has finished editing the current page and tries to change to another. If the Check Valid formula evaluates to "No" then a warning message is displayed telling the user that there may be errors on the page.

      For example, if there was a question on the current page which controlled a property called "panel_thickness", we could check that an invalid thickness wasn't entered when the end user tries to leave the page. By setting the Check Valid formula to panel_thickness > 0, we could ensure that if a length less than or equal to zero was typed in, there would be a warning given. This is because the formula would evaluate to "Yes" if it is valid, and "No" otherwise.
    • Enable:
      This is as per the Group level Enable but control visibility of individual pages instead.
    • EnableLCM:
      This is as per the Group level EnableLCM but control visibility of individual pages instead.

    Define Questions

    This is the page where you create the actual controls which will appear on a Friendly Page. It has the same toolbar controls as the other pages with the addition of Category(group) and page lists. Use these to select which friendly page these controls appear on.

    Click to Expand

    Click to Expand



    The Define Questions page are explained in more detail on the Define Questions Page but briefly :-
    • Name:
      The property being controlled by this question (if any)
    • Question:
      Actual text prompt to be displayed to the user on the Friendly Page
    • Type:
      The required input must be one of the available Data Types
    • Control:
      Type of control to use (edit box, drop-down list, checkbox, etc)
    • Combo Source:
      For a drop-down list, where the values are loaded from
    • Combo Answer:
      How the result from a list box is returned
    • Enable:
      A Yes/No flag to determine if the question appears or not
    • Extra:
      Values for dropdown can be types directly into here
    • QWidth:
      Width of the question text in columns (out of 6 total)
    • AWidth:
      Columns (out of 6) occupied by the answer control
    • Action:
      A command to run (e.g. show message box for Button controls)

    QIQ Files

    On Define Pages, it is possible to save and load Friendly Pages to a text file called a QIQ file (CabMasterPro Questions). These are used for editing outside of CabMasterPro, or for copying into other drawings or libraries. When you save a QIQ file all the "pages" in the current page "category" are saved, and when you load a QIQ file all the pages in the current Category/group are replaced with the ones from the QIQ, not merged. Beware of this before you overwrite any existing pages.

    Since a QIQ is a plain text file, it can be opened with any text editor, however since it is laid out in tab-separated columns it is best to open them in some spreadsheet program. This will preserve the column layout and avoid any problems with empty column values.

    The format of a QIQ is simple: each page/tab in the category/group is started by a line like "[Tab Name]" and then each line from the Define Questions page is written out in tab-delimited form. At the end of each tab section is an optional line starting with an equals sign which is the Check Valid formula for that tab.

    Once you have edited a QIQ file, you need to merge it back in to the library by opening the properties sheet that you saved it from and click the Open QIQ button. This will replace the existing tabs with the modified ones and you can then save the library. If you made any formatting errors while editing the QIQ you will be warned when CabMasterPro tries to load it.

    See topic on QIQ File Format for a more detailed description.