Introduction

This document describes how to show or hide GUI elements i.e. buttons, text fields, menu items and so on. To begin with some concrete and easy examples are treated, which covers the most common actions. Then a more thorough description follows.

Show or hide fields on the detail panel

The existing fields on the detail panel can be hidden or some fields which are not shown by default can be shown. Below the default detail panel is illustrated.

Show the “Customer” field on the detail panel

The “Customer” field is by default not visible. Below the detail panel is illustrated with the “Customer” field shown.

In order to show the “Customer” field perform the following steps:

Locate the file “roles.xml” in the “custom” folder in the <sch_client_dir> and open it in an editor. Refer to Location of the GUI configuration file for more information about the location. In case the file cannot be located in the “custom” folder copy it from the “config” folder in the <sch_client_dir>.
Find the highlighted text which is shown below (search for “jlCustomer” from the top of the document).


<FeatureContainer name="Pgantt.plan.views.demo.OverviewDetailInfo">
<Feature name="jtfProdOrderName" visible="true" enabled="false"></Feature>
<Feature name="jlCustomer" visible="false" enabled="false"></Feature>
<Feature name="jtfCustomer" visible="false" enabled="false"></Feature>
<Feature name="jlProjectMgr" visible="false" enabled="false"></Feature>
<Feature name="jtfProjectMgr" visible="false" enabled="false"></Feature>
<Feature name="jlProjectResp2" visible="false" enabled="false"></Feature>
<Feature name="jtfProjectResp2" visible="false" enabled="false"></Feature>
</FeatureContainer>

Change the value of the “visible” and “enabled” attributes from “false” to “true” as shown below.
<Feature name="jlCustomer" visible="true" enabled="true"></Feature>
<Feature name="jtfCustomer" visible="true" enabled="true"></Feature>

In case it should not be possible to alter the text in the “Customer” field set the “enabled” attribute to value “false” for the “jtfCustomer”. See example below.
<Feature name="jtfCustomer" visible="true" enabled="false"></Feature>

Save the file and restart ROB-EX.

Hide the “Mat.” field on the detail panel

Jump back and look at the default detail panel image. Notice that the “Mat.” field (material date) in the order row, is by default visible.

In order to hide the “Mat.” field perform the following steps:

Locate the file “roles.xml” in the “custom” folder in the <sch_client_dir> and open it in an editor. Refer to Location of the GUI configuration file for more information about the location. In case the file cannot be located in the “custom” folder copy it from the “config” folder in the .
Find the text shown below (search for “overviewDetailInfo” from the top of the document).

<FeatureContainer name="Pgantt.plan.views.demo.OverviewDetailInfo">
          <Feature name="jtfProdOrderName"  visible="true"  enabled="false"></Feature>
         <Feature name="jlProjectMgr"  visible="false"  enabled="false"></Feature>
          <Feature name="jtfProjectMgr"  visible="false"  enabled="false"></Feature>
          <Feature name="jlProjectResp2"  visible="false"  enabled="false"></Feature>
          <Feature name="jtfProjectResp2"  visible="false"  enabled="false"></Feature>
</FeatureContainer

Insert the two lines as specified below (the new lines are highlighted).

 <FeatureContainer name="Pgantt.plan.views.demo.OverviewDetailInfo">
          <Feature name="jtfProdOrderName"  visible="true"  enabled="false"></Feature>
         <Feature name="jlProjectMgr"  visible="false"  enabled="false"></Feature>
          <Feature name="jtfProjectMgr"  visible="false"  enabled="false"></Feature>
          <Feature name="jlProjectResp2"  visible="false"  enabled="false"></Feature>
          <Feature name="jtfProjectResp2"  visible="false"  enabled="false"></Feature>
     <Feature name="jlProdOrderMaterialCalendar"  visible="false"  enabled="false"></Feature>
     <Feature name="dttfProdOrderMaterialCalendar"  visible="false"  enabled="false"></Feature>
</FeatureContainer

Save the file and restart ROB-EX.

Show or hide menu items in the right click menu

When the user right clicks an operation on the Gantt chart a popup menu appears with various menu items in it. The menu items can be hidden or the hidden ones can be shown.

Hide the “Change resource” menu item in the right click menu

The “Change resource” menu item is by default visible as shown below.

In order to hide the “Change resource” menu item perform the following steps:

Locate the file “roles.xml” in the “custom” folder in the <sch_client_dir> and open it in an editor. Refer to Location of the GUI configuration file for more information about the location. In case the file cannot be located in the “custom” folder copy it from the “config” folder in the <sch_client_dir>.
Find the text shown below (search for “ResView” from the top of the document).

 <FeatureContainer name="Pgantt.plan.views.demo.ResView">
          <Feature name="groupEditOrder"  visible="false"  enabled="false"></Feature>
</FeatureContainer

Insert the line (highlighted) as specified below.

 <FeatureContainer name="Pgantt.plan.views.demo.ResView">
          <Feature name="groupEditOrder"  visible="false"  enabled="false"></Feature>
               <Feature name="changeResource"  visible="false"  enabled="false"></Feature>
</FeatureContainer

Save the file and restart ROB-EX.

Location of the GUI configuration file (“roles.xml”)

The GUI configuration is defined in XML format in a configuration file called “roles.xml”.

The original file is located in directory <sch_client_dir>\config. To customize the GUI configuration copy the “roles.xml” into directory <sch_client_dir>\custom. The reason to copy the file to the “custom” folder is that each time ROB-EX is updated to a newer version the files in the “config” folder are replaced and this is not the case for the contents in the “custom” folder. Edit the “roles.xml” file with a text editor like notepad.exe or the like. It it preferred to use an editor which can format XML correctly.

The structure of the “roles.xml” file

The “roles.xml” has a hierarchical structure where the top tag is <RoleList>. Then follows the <PermissionRole> tag which contains feature containers tags (<FeatureContainer>). Each feature container contains a number of features.

The structure is illustrated below.

<RoleList>
       <PermissionRole>

               <FeatureContainer>

                       Features...

                       ...

                       ...

               </FeatureContainer>

       </PermissionRole>

</RoleList>

The PermissionRole tag

A <PermissionRole> (in the following it’s just called a “role”) represents a group of users who have their permissions restricted to some extent. Normally the role “role.admin” has the least restrictions while the role “role.viewer” has the most restrictions.

Six roles exist:

  1. role.admin
  2. role.pro
  3. role.prolimited
  4. role.light
  5. role.lightlimited
  6. role.viewer

When running ROB-EX as a standalone the role “role.pro” is always used (except if it has a viewer license). However if ROB-EX is running in a multiuser setup each user can be assigned a certain role. This gives the possibility to differentiate the permissions of the various users. For more info refer to the User administration section.

Notice that in case ROB-EX has a viewer license more permissions cannot be granted, i.e. setting some features to visible/enabled=“true” will not have any effect. But running ROB-EX planner edition on a multiuser setup with role “role.viewer” assigned to a user, gives the possibility to remove some restrictions from the “viewer” role.

Inheritance

Each role inherits permissions from its parent role, thus the role “role.admin” is the ancestor of all roles. The “role.pro” is a child of “role.admin” and the “role.prolimited” is a child of “role.pro” and so on. So if a feature is restricted in role “role.admin” it’s also restricted in the other five roles.

The FeatureContainer tag

A feature container refers to a dialog or another logically related area in ROB-EX. See the table a little further below for an overview of the most common feature containers.

Each feature container contains a number of features where each feature represents a graphical component in ROB-EX. For instance the “jtfCustomer” represents a text field in ROB-EX where the customer is printed and the user is allowed to alter the contents. A feature has two attributes “enabled” and “visible” where both have two possible values “true” or “false”. Evaluate the feature below.

<Feature name="jtfCustomer" visible="true" enabled="false"></Feature>

In the above example the “jtfCustomer” is set to visible=“true” and enabled=“false” this means that the text field will be visible but the user cannot change the contents. If a feature isn’t mentioned in the “roles.xml” both attributes “visible” and “enabled” are set to “true” i.e. no restrictions are defined.

CustomOptions

Below the width of the text field “jtfProductName” is modified by adding the attribute customOptions:“width:wwwwwwwwwwwwwwwwwwww”.

<Feature name="jtfProductName" visible="true" enabled="false" customOptions="width:wwwwwwwwwwwwwwwwwwww" ></Feature>

The letter used (here “w”) and the number of them decides the width of the text field. Below is shown the before and after image:

OBS: Notice that changing the width of a single element has an effect on the whole row that the element is in!

GUI elements, that contain floating point numbers, have the possibility to specify a pattern for the number format the content should be displayed with.

This is done by adding a numberFormat to the customOptions attribute like in the example below:

<Feature name="jtfProdOrderQuantity" visible="true" enabled="false" customOptions="numberFormat:0.0# width:wwwwwwww" ></Feature>

For more info regarding the number format pattern, see Number formatting.

Multiple options in the customOptions attribute are separated with a space (see example above).

Add layout items on detail panel
It is possible to add up to 4 layout items (fields) for each type (Project, Production order and Operation). This is done by using the customOptions field. Consider example below:
<Feature name="operationCustomField1" visible="true" enabled="true" customOptions="layoutitem:opr_custom_boolean1 multi_edit:true"></Feature>

The feature name “operationCustomField1” refers to one of the 4 available “slots”. Add another one with a number 2 digit afterwards (up to 4). On order and project row it would respectively be “orderCustomField1” and “projectCustomField1”.

In the “customOptions” attribute the layout item to add is specified. Furthermore it can be specified if multi-edit should be enabled. If enabled it is possible to select many operations in the Ganttchart and update the value of the layout item (OBS: Notice that this is currently only possible for booleans (true/false) on Operation).

Naming conventions

The naming of the feature containers and features normally refers to the type of GUI they represent. For instance the “jtfCustomer” feature starts with the three letters “jtf”. This indicates that this is a *JT*ext*F*ield. The “jtfCustomer” is located in the feature container “Pgantt.gui.dlgorderlist.DlgOrderList” where the three letters “Dlg” indicates that it’s a dialog. Below the most common abbreviations are described.

Abbreviation Description Illustration
jtf or jta JTextField or JTextArea. This is a text field with one or more lines.
jb or btn JButton. This is a button.
jcb JComboBox. This is a drop down menu.
jcb JCheckBox. This is a check box.
jl JLabel. This is a label.

Feature container
Features
Location in ROB-EX

Pgantt.gui.dlgorderlist.
DlgOrderList

opList
prodOrderPriorityTableColumn
jtfCustomer
jtfProductName
jtfQuantity
jtaDescription
btnDelOrder
btnNewOrder
jbEditOrder
jbGroupEdit
jbEditOperationSequence
tblOrderList
jbPlanOrder
This is the “Order list”.

“Edit->Order list”

Pgantt.basemodel.gui.
ProductionOrderManagement

jlOrderNumber
jlSeriesId
jlCustomer
jlProductName
jlQuantity
jlQuantity
jlProject
jlStartTime
jlEndTime
jlMaterialTime
jCheckBoxCustomBoolean1
jlOperationSequence
jlDescription
jlAccount
jacAccount
chbSetPlannedStatus
jbEditSeries
jbClose
jbCancel
jbNewOrder
jbShowScheduleDialog
jbOperationSequenceManagement (Edit route)
jbMakeOperationSequence (New route)

This is the “Create/Edit order” window.

This is the window shown when clicking either the “New” or “Edit” tool bar buttons in the Order List

Pgantt.basemodel.gui.OperationSequenceManagement
jbClose
jbNewOperationSequence
jbChangeOperationSequence (Properties)
jbDeleteOperationSequence
jbCopyOperationSequence (Save as)
jbAdvancedEditOperationSequence
jbCopy
This is the dialog shown when selecting “Edit->Route”

Pgantt.basemodel.gui.OperationManagement
jlResourceList
jlPossibleResources
jbCopy
jbEditOperation
jbRemove
jbClose
jbUp
jbDown
jbPrint
jbChangeOperation

This is the dialog shown when selecting “Edit->Operation”
on the toolbar.

p(#gantt.gui.dlgeditoperation). Pgantt.gui.dlgeditoperation.
DlgEditOperation

jlOrderNumber
jlCustomer
jlProductName
jtfProdOrder
jtfProduct
jtfCustomer
jlName
jtfName
jlResource
jcbResource
jlColor
jbColor
jlPrice
jtfPrice
jcbCalcPrice
jlAnchor
jcbAnchor
jlAccount
jacAccount
jlMaterial
jcbMaterialDate
jlDelivery
jcbDeliveryDate
jtp
jlLocked
jcbLocked
jcbHardLinkNextOperation
jlStart
jcbStartDate
jlEnd
jcbEndDate
jlQuantity
jtfQuantity
jlInputQuantity
jtfInputQuantity
jlOutputQuantity
jtfOutputQuantity
jlStatus
jcbStatus
jlRespectResCal
rbRespectYes
rbRespectNo
jlCalPeriod
rbCalNo
rbCalOpen
rbCalClosed
jlUnburdenResource
rbUnburdenResourceYes
rbUnburdenResourceNo
jlDisplayType
eodjcbDisplayType
jcbDisplayType
jchbShowBrokenConstraintFlag
jchbNewRouteOnChangeResource
jlValueProfile
eodjcbValueProfile
jchbUseValueProfileFromResource
jlWorktimeChain
eodjcbWorktimeChain
jcbWorktimeChain
jlDescription
jtaDescription
jlCustomText1
jspCustomText1
jlCustomText2
jspCustomText2
jlCustomText3
jspCustomText3
jlCustomText4
jspCustomText4
jCheckBoxCustom1
jCheckBoxCustom2
jlPrevQueue
jtfPrevQueue
jlSetUp
jtfSetUp
jlDuration
jtfDuration
jlWorkload
jtfWorkload
jlTargetWorkload
jtfTargetWorkload
jlCapacity
jtfCapacity
jtfInputCapacity
jtfOutputCapacity
jlWasteRate
jtfWasteRate
jlSwitchOver
jtfSwitchOver
jlPostQueue
jtfPostQueue
jlTransport
jtfTransport
jlEfficiency
jtfEfficiency
jlResourceEfficiency
jcbCopyDuration
jcbUseResourceCapacity
jtfQuantityFactor
jtfWorkloadFactor
jlQuantityFactor
jlGrossQuantity
jlWorkloadFactor
jcbReciprocAmountFactor
jpUseOverlap
jcbUseOverlap
jlOffset
jtfOffsetNumber
jlOffsetNumber
jtfOffsetPercent
jlOffsetPercent
jtfOffsetHours
jlOffsetHours
jcbOffsetFixed
jcbAllowEndBeforeThisEnd
jlEndAnchor
jcbEndAnchor
jcbReferenceEndCalendar
jbApplyAsReference
jlActualStart
jcbActualStartDate
jlActualEnd
jcbActualEndDate
jlLastProgressCalendar
jcbLastProgressCalendar
jpbProgress
jlProgressDone
jlProgressDoneInHours
jtfProgressDoneInHours
jlProgressDoneInHoursWLExtra
jtfProgressDoneInHoursWLExtra
jlProgressDoneInQuantity
jtfProgressDoneInQuantity
jlProgressDoneInPercent
jtfProgressDoneInPercent
jlProgressLeft
jlProgressLeftInHours
jtfProgressLeftInHours
jlProgressLeftInQuantity
jtfProgressLeftInQuantity
jlProgressLeftInPercent
jtfProgressLeftInPercent
jtfProgressSetupInHours
jtfProgressFillupInHours
jtfProgressEmptyingInHours
jtfProgressSwitchOverInHours
jlProgressSetupInHours
jlProgressFillupInHours
jlProgressEmptyingInHours
jlProgressSwitchOverInHours
jtfProgressBadQuantity
jlProgressBadQuantity
jpOperation
jlFillUpTime
jtfFillUpTime
jlEmptyingTime
jtfEmptyingTime
jlTankTypeVolume
jlMaxStorageTime
jcbParentOpLinkStep
jcbSubOpUpdateType
jchbBlockResourceChangeDuringScheduling
jchbAllowStartInClosedPeriod
This is the right click “Edit operation
dialog.

Also the window shown when Double clicking on an operation.

Pgantt.gui.dlgsplitjoin.SplitJoinDialog
check
jbCancel
jbOK
jcbCreateSplitForCompleted
jcbHardLink
jcbParallel
jcbRespectValue
jcbUseParentOprName
jcbWeightedProgressSplit
jlTotal
jrbSplitTypeBatchSize
jrbSplitTypeCompletedRemaining
jrbSplitTypeMousePos
jrbSplitTypeNumber
jtfBatchSize
splitDlgOptionsLabel
splitDlgSplitByLabel
This is the Split operation dialog.

Select an operation in Edit Routes

and use the Split button.

Pgantt.plan.views.
demo.OverviewDetailInfo

Series elements:(projectPanel)
jlSeries
jtfSeriesId
jlSeriesName
jtfSeriesName
jlSeriesQuantity
jtfSeriesQuantity
jlSeriesSetup
jtfSeriesSetup
jlSeriesWorkload
jtfSeriesWorkload

Campaign/ResourceReservation elements: (campaignPanel)
jlCampaign
jtfCampaignName
jlCampaignProductFamily
jtfCampaignProductFamily
jlCampaignResourceReservation
jtfCampaignResourceReservation
jlOperationStartCalendar
jlOperationStartCalendar
jlCampaignResourceReservationWorkload
jtfCampaignResourceReservationWorkload
jlCampaignResourceReservationQuantity
jtfCampaignResourceReservationQuantity
jlCampaignResourceReservationCapacity
jtfCampaignResourceReservationCapacity

Project elements: (projectPanel)
jlProject
jtfParentProjectNumber
jlParentProjectName
jtfParentProjectName
jlProjectCustomer
jtfProjectCustomer
jlParentProjectCustomText1
jtfParentProjectCustomText1
jlSelectedProject
jtfProjectNumber
jcbProjectNumber
jfProjectNumber
jlProjectName
jtfProjectName
jlProjectMgr
jtfProjectMgr
jlProjectResp2
jtfProjectResp2
jlProjectStart
jlProjectEnd
jlProjectAccount
jcbAccount
jlProjectState
jcbProjectState
jlProjectCustomText1
jtfProjectCustomText1
jlProjectCustomText2
jtfProjectCustomText2
jlProjectCustomText3
jtfProjectCustomText3
jlProjectPrice
jtfProjectPrice

Production order elements: (orderPanel)
jlProdOrder
jtfProdOrderName
jlProdOrderId
jtfProdOrderId
jlProdOrderAltName
jtfProdOrderAltName
jlCustomer
jtfCustomer
jlProductName
jtfProductName
jlRouteName
jtfRouteName
jlProdOrderMaterialCalendar
jlProdOrderDeliveryCalendar
jlEarliestStart
jtfEarliestStart
jlLatestEnd
jtfLatestEnd
jlProdOrderQuantity
jtfProdOrderQuantity
jlProdOrderStatus
jcbProdOrderStatus
jcbProdOrderPrecondOK
jlProdOrderPriority
jtfProdOrderPriority
jlProdOrderCustomCalendar1
jlProdOrderCustomCalendar2
jlProdOrderCustomText1
jtfProdOrderCustomText1
jlProdOrderCustomText2
jtfProdOrderCustomText2
jlProdOrderCustomText3
jtfProdOrderCustomText3
jlProdOrderCustomText4
jtfProdOrderCustomText4
jlProdOrderOrderedName
jtfProdOrderOrderedName
jlProdOrderCustomBool1
jcbProdOrderCustomBool1
jlProdOrderCustomBool2
jcbProdOrderCustomBool2
jlProdOrderCustomBool3
jcbProdOrderCustomBool3
jlProdOrderPrice
jtfProdOrderPrice

Operation elements: (operationPanel)
jlOperation
jtfOperationName
jlResource
jcbResource
jlOperationStartCalendar
jlOperationEndCalendar
jlOperationDuration
jtfOperationDuration
jlOperationQuantityLeft
jtfOperationQuantityLeft
jlOperationCapacity
jtfOperationCapacity
jlOperationTargetCapacity
jtfOperationTargetCapacity
jlOperationSetup
jsOperationSetup
jlTargetOperationWorkload
jtfTargetOperationWorkload
jlOperationWorkload
jtfOperationWorkload
jlOperationSwitchover
jsOperationSwitchover
jlProgressHoursLeft
jtfProgressHoursLeft
jlOperationStatus
jcbOperationStatus
jlOperationPrice
jlOperationCustomText1
jtfOperationCustomText1
jlOperationCustomText2
jtfOperationCustomText2
jlOperationQuantity
jtfOperationQuantity
jlOperationGrossQuantity
jtfOperationGrossQuantity
jlOperationEfficiency
jtfOperationEfficiency
jcbOperationLocked

Operation text elements: (operationDescriptionPanel)
jlOperationDescription
jtaOperationDescription
This is the detail panel.

It’s located above the Gantt

chart.

Pgantt.Main

editScheduleConfig
saveAction
saveAsAction
newAction
editResourceAction
editOperationAction
editOperationSequenceAction
editResourceCalendarAction
editResourceCostProfileAction
snapModeAction
placeMakerModeAction
editUndoAction
editRedoAction
viewRefresh
editSeparator
mUserMgr
This is the menus and icons
on the toolbar.

Pgantt.plan.views.
demo.ResView

snapLeft
snapLeftSingle
snapRight
snapRightSingle
snapLeftSameOrder
snapLeftSameOrderSingle
snapRightSameOrder
snapRightSameOrderSingle
splitOperation
splitOperationSingle
joinOperation
joinOperationSingle
syncOperationsOverview
syncOperationsSingle
desyncOperationsOverview
desyncOperationsSingle
menuEditOpSeqOverview
menuEditOpSeq
menuSelColorSingle
menuSelColorOverview
editOrder
editOrderSingle
planOrder
planOrderSingle
editOperation
editOperationSingle
bottleneckSort
changeResource
changeResourceSingle
dependencies
dependenciesSingle
addDependency
addDependencySingle
removeDependency
removeDependencySingle
operationGroups
operationGroupsSingle
groupOperations
groupOperationsSingle
editOperationGroup
editOperationGroupSingle
deleteOperationGroup
deleteOperationGroupSingle
removeFromOpGroup
removeOpFromGroupSingle
operationSeries
operationSeriesSingle
newOperationSeries
newOperationSeriesSingle
editOperationSeries
editOperationSeriesSingle
actionOperationDblClick
conDrag
This is menu items in
the right click menu

on the “Resource overview

and the “Single resoure view”.

The features which ends with

“single” belongs to the “Single

resource view”.

ProjectView.
RightClickMenu

snapLeftSameOrder
snapRightSameOrder
splitOperation
joinOperation
syncOperationsOverview
desyncOperationsOverview
menuEditOpSeqOverview
menuSelColorOverview
editOrder
planOrder
editOperation
bottleneckSort
changeResource
dependencies
addDependency
removeDependency
operationGroups
groupOperations
editOperationGroup
deleteOperationGroup
removeFromOpGroup
operationSeries
newOperationSeries
editOperationSeries
actionOperationDblClick
conDrag
This is menu items in
the right click menu

on the “Project view

Feedback

Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Post Comment