1. 20 Nov, 2018 1 commit
  2. 30 Jul, 2018 1 commit
    • Bob Obara's avatar
      ENH: Providing ability for better GUI control for attribute items · 71dfe1f9
      Bob Obara authored
      Added the ability to define Views for Attribute Items. This is supported in
      Attribute, Instanced, ModelEntityAttribute, and Operator View classes.  Group related views
      are not directly effected.
      
      Here is an example:
      
          <View Type="Instanced" Title="Frequency Information">
            <InstancedAttributes>
              <Att Name="EigenSolver" Type="FrequencyInfo">
                <ItemViews>
                  <View Item="NumEigenvalues" Type="Default" Option="SpinBox"/>
                  <View Item="FrequencyShift" Option="SpinBox" StepSize="100" Decimals="0"/>
                </ItemViews>
              </Att>
            </InstancedAttributes>
          </View>
      
      The Item attribute is mandatory. If the Type attribute is missing then it is assumed to be
      Default.  The rest of the information is then processed by the qtItem class that is being
      created. To demonstrate this I have added spinbox options for both IntItem and DoubleItem for their
      default qtItem class (qtInputsItem).
      
      This mechanism can be extended to add custom GUI's for items.
      71dfe1f9
  3. 11 Apr, 2018 1 commit
    • David Thompson's avatar
      Remove ModelEntityItem from use. · 25729eeb
      David Thompson authored
      This is a large, breaking change to SMTK that moves the attribute
      system away from using ModelEntityItem. Specifically, it
      
      + switches `Attribute::associations()` methods to return a
        ReferenceItem instead of a ModelEntityItem.
          + removes m_associations from Attribute.
      + switches `Definition::associationRule()` and related methods
        to return a ReferenceItemDefinition instead of a
        ModelEntityItemDefinition.
          + fix many methods in Definition that referred to m_associationRule
            to use m_acceptsRules instead.
      + updates the XML and JSON readers and writers to
        deserialize ModelEntity items/definitions in old files into their
        equivalent Reference items/definitions in the new system.
      + refactors ReferenceItem to no longer be a template
        since Resource and Component now share a common ancestor.
      + simplifies the qtReferenceItem hierarchy since now both
        Resource and Component inherit PersistentObject.
      + renames `Attribute::isComponentAssociated()` to `isObjectAssociated()`.
      + consolidates a lot of code that was shared between ReferenceItem,
        ResourceItem, and ComponentItem into ReferenceItem.
      + changes the default attribute reader version to 3 (was 2).
      + removes an unneeded argument from `from_json` methods.
        By the time these methods are called, `itemPtr` should already
        own a reference to the collection via its parent attribute, so
        don't pass the collection needlessly.
      
        This also simplifies the json format for items by eliminating
        the `ItemValue` dictionary; instead, items are responsible for
        adding the `Type` entry to their own dictionaries.
        It may even be possible to remove the `Type` entry since the
        items are required to have their type specified by a definition.
      + makes OperationEnvironment depend on AttributeEnvironment.
        Operations depend on attributes for their parameters/specifications.
      + removes `#include ".../ModelEntityItem.h"` from `Attribute.h`.
      + switches many operators to use ComponentItem or ReferenceItem
        instead of ModelEntityItem, and also switches some of these
        operators to use associations where they did not previously.
      + starts the convention of adding release notes to `doc/release/notes`.
      + fixes some tests to use the resource manager or operation manager
        to create objects because the way that reference items verify
        types often requires a resource manager to work properly.
      25729eeb
  4. 02 Apr, 2018 1 commit
  5. 14 Mar, 2018 1 commit
    • David Thompson's avatar
      Add a qtItem subclass for resource components & more. · 679154d0
      David Thompson authored
      + Add the qtReferenceItem subclass of qtItem. Then add
        qtComponentItem which inherits qtReferenceItem. Eventually,
        qtResourceItem will also exist (or qtReference item will
        encompass functionality for both resources and their components).
          + This item now properly presents and allows editing
            of entries related to a ComponentItem. However, it does
            not update the entries of the ComponentItem upon editing yet.
          + The Qt item displays a synopsis of the selected components
            and indicates whether the selection meets the requirements
            called out by the attribute (specifically, the number of
            entries must be allowed and the selection must come from a
            list of acceptable components).
      + Add callbacks to SMTK resource panel to signal when a row is hovered
        and change the "hovered" selection value.
      + Add support to the model representation to illustrate the "hover"
        selection value in preference to the "selected" value.
      + Fix a memory leak in the model representation.
      + Fix the SMTK attribute panel exposed as a PV plugin:
          + Always clear the widget out when switching between
            attribute resources.
          + Note that this has not been tested with switching between
            views within the same attribute resource, and will probably
            need changes to handle that case.
          + Also note that you must click on a _resource_ entry in the
            resource tree-view panel to switch what is displayed in the
            attribute panel; clicking on an attribute is not enough.
      679154d0
  6. 24 Feb, 2018 1 commit
    • David Thompson's avatar
      Work on component/resource items and their GUIs. · 58dab9c2
      David Thompson authored
      + Refactor item-based attribute classes.
        Move most of the code in ComponentItem, ResourceItem,
        ComponentItemDefinition, and ResourceItemDefinition into
        two new base classes LinkItem and LinkItemDefinition.
        These classes handle links between an attribute and
        any resource or component of a resource.
        Note that smtk::attribute::RefItem should disappear
        in favor of a ComponentItem whose `acceptableEntries()`
        filter forces an attribute of the proper type.
      + Fix build when `SMTK_ENABLE_EXAMPLES` is on.
      + Prototype for a qtComponentItem.
      58dab9c2
  7. 08 Dec, 2017 1 commit
    • David Thompson's avatar
      Work on the UI for ComponentItem / deprecation of ModelEntityItem. · 3ece72e1
      David Thompson authored
      + Move smtk::resource::SelectionManager to smtk::view::Selection.
        It really isn't a manager; it's a selection. Each instance holds a
        map enumerating the "degree" to which each component is selected.
        You can have multiple selections in an application.
      
      + Make the ParaView SMTK resource panel respond to selections
        and emit its own. Note that selecting a summary phrase does not
        result in entities in its child phrases being selected. This
        is a departure from the previous phrase view; we may add
        this functionality into the new resource panel at some point
        as it satisfies the priniciple of minimum astonishment.
        The problem is that it requires computation of child phrases,
        which destroys the lazy nature of the algorithm.
      
      + Fix resource handling when deleting sources.
      
      + Add a VTK-based attribute "reader" (that produces a pretty empty multiblock
        but has the side effect of adding a resource to the resource manager when
        an observer is attached).
      
      + Port more code over from old, model-only EntityListPhrase to PhraseList:
        generate more descriptive titles for lists with many, potentially disparate children.
        For now, this only deals with model, not mesh or attribute, components.
      
      + Adds a currently-uncompiled "unit test" for a component item UI.
      
      + When inheriting QStyledItemDelegate, do not call the inherited
        `paint()` method inside your own as it will draw each item's
        `Qt::DisplayRole` text overlapping your own.
      3ece72e1
  8. 23 Aug, 2017 1 commit
  9. 26 Apr, 2017 1 commit
  10. 29 Mar, 2017 1 commit
  11. 18 May, 2016 2 commits
  12. 27 Apr, 2015 1 commit
  13. 21 Apr, 2015 1 commit
    • David Thompson's avatar
      Progress on #85 (consistent target + option names). · eaf24846
      David Thompson authored
      This patch includes the following changes:
      
      + Eliminate a shiboken warning (do not wrap cJSON methods).
      + Fix a stupid mistake causing a warning in ExportJSON.
      + A scripted rename. Ran this command:
      
            find smtk/bridge -type f -exec vim -S /path/to/vscr {} \;
      
        where `vscr` contained
      
            %s/SMTKSessionExodusExports/Exports/g
            %s/SMTKSessionExodus/smtkExodusSession/g
            %s/SMTKSESSIONEXODUS_EXPORT/SMTKEXODUSSESSION_EXPORT/g
            %s/discreteSessionExports/Exports/g
            %s/SMTKRemoteExports/Exports/g
            %s/SMTKRemote/smtkRemoteSession/g
            %s/SMTKREMOTE_EXPORT/SMTKREMOTESESSION_EXPORT/g
            wq
      + Another scripted rename:
      
            find smtk/extension -type f -exec vim -S /path/to/vscr {} \;
      
        where `vscr` is a vim script containing:
      
            %s/QtSMTKExports.h/Exports.h/g
            %s/QTSMTK_EXPORT/SMTKQTEXT_EXPORT/g
            %s/vtkSMTKModule/smtkVTKExtModule/g
            %s/vtkSMTKExports/smtkVTKExtExports/g
            %s/VTKSMTK_EXPORT/SMTKVTKEXT_EXPORT/g
            %s/vtkSMTK/smtkVTKExt/g
            wq
      
      + Add VTK-style Python wrapping to the classes in vtkSMTKExt
        (which cannot be named smtkVTKExt because of VTK's build system).
        This should close #97.
      + Fixes to get things building again.
      eaf24846
  14. 26 Sep, 2014 1 commit
  15. 24 Sep, 2014 2 commits
  16. 10 Apr, 2014 1 commit
  17. 10 Feb, 2014 1 commit
    • Yumin Yuan's avatar
      Removed UIManager singleton pattern. · ed4e8521
      Yumin Yuan authored
      The singleton pattern of UIManager was removed so that applications can
      create as many UIManagers as they want. The singleton pattern was
      inherited from SimBuilder3.0, but since now the uiManager is part of the
      smtk library, the pattern isn't desired anymore. However, applications can
      still use singleton pattern if they wrapp the uiManager with another
      class.
      ed4e8521
  18. 17 Oct, 2013 1 commit
  19. 26 Aug, 2013 1 commit
  20. 04 Jan, 2013 1 commit
  21. 03 Jan, 2013 1 commit
  22. 28 Nov, 2012 1 commit
  23. 22 Oct, 2012 1 commit
  24. 15 Aug, 2012 1 commit
  25. 14 Aug, 2012 1 commit
  26. 01 Aug, 2012 1 commit
  27. 11 Jul, 2012 1 commit