CogTool-Modern / cogtool

Predictive human performance modeling for UI/UX design
https://www.cogtool.org
GNU Lesser General Public License v2.1
17 stars 1 forks source link

CogTool XML Import Checkboxes & Groups #44

Open justingeeslin opened 4 years ago

justingeeslin commented 4 years ago

When importing the following CogTool XML, the import is successful and designs are created. There's a BUT.

<?xml version="1.0" encoding="UTF-8"?>
<cogtoolimport version="1">
  <design name="Design 1">
    <device>keyboard</device>
    <device>mouse</device>
    <frame name="Frame 1">
      <topLeftOrigin x="16.0" y="16.0"/>
      <widget name="Widget 1" type="check box" x="0.0" y="0.0" group="Group [i1]" shape="rectangle" w-is-standard="true">
        <displayLabel><![CDATA[My First Checkbox]]></displayLabel>
        <extent x="22.0" y="50.0" width="163.0" height="47.0"/>
        <transition destinationFrameName="Frame 2" durationInSecs="0.0">
          <action>
            <mouseAction action="downUp" button="left">
            </mouseAction>
          </action>
        </transition>
      </widget>
    </frame>
    <frame name="Frame 2">
      <topLeftOrigin x="168.0" y="176.0"/>
      <widget name="Widget 1" type="check box" x="0.0" y="0.0" group="Group [i1]" shape="rectangle" w-is-standard="true">
        <displayLabel><![CDATA[My First Checkbox]]></displayLabel>
        <extent x="22.0" y="50.0" width="163.0" height="47.0"/>
      </widget>
    </frame>
  </design>
</cogtoolimport>

BUT, when editing one of the designs, when you select the Checkbox element. CogTool crashes with no error message.

justingeeslin commented 4 years ago

Interestingly, the crash does not occur when the group number is changed on the checkbox on the other frame from [i1] to [i9] like so:

<?xml version="1.0" encoding="UTF-8"?>
<cogtoolimport version="1">
  <design name="Design 1">
    <device>keyboard</device>
    <device>mouse</device>
    <frame name="Frame 1">
      <topLeftOrigin x="16.0" y="16.0"/>
      <widget name="Widget 1" type="check box" x="0.0" y="0.0" group="Group [i1]" shape="rectangle" w-is-standard="true">
        <displayLabel><![CDATA[My First Checkbox]]></displayLabel>
        <extent x="22.0" y="50.0" width="163.0" height="47.0"/>
        <transition destinationFrameName="Frame 2" durationInSecs="0.0">
          <action>
            <mouseAction action="downUp" button="left">
            </mouseAction>
          </action>
        </transition>
      </widget>
    </frame>
    <frame name="Frame 2">
      <topLeftOrigin x="168.0" y="176.0"/>
      <widget name="Widget 1" type="check box" x="0.0" y="0.0" group="Group [i9]" shape="rectangle" w-is-standard="true">
        <displayLabel><![CDATA[My First Checkbox]]></displayLabel>
        <extent x="22.0" y="50.0" width="163.0" height="47.0"/>
      </widget>
    </frame>
  </design>
</cogtoolimport>

It seems that having different group names across frames for the same element is important? Or a least it dodges this bug.