1. 12 Jan, 2019 2 commits
  2. 10 Jan, 2019 3 commits
  3. 09 Jan, 2019 2 commits
    • David Thompson's avatar
      Mark resources as modified in the resource-tree view. · 301992f9
      David Thompson authored
      This includes changes to force attribute editing to cause
      their resources to be updated by having the Qt-based editors
      invoke a dummy operation that can be handled by PhraseModel
      instances.
      301992f9
    • Bob Obara's avatar
      BUG: Fixing IsUnique Logic · 39b507fa
      Bob Obara authored
      The main problem was that all Definitions by default were marked isUnique.  This has now been changed to not be the case.  Note this did not effect saved attribute files since the value of isUnique was always being saved and never assumed.
      
      This change exposed a bug in attribute::Resource findUniqueBaseDefinition method which would always return the definition passed into it as Unique (even when it wasn't) as long as it didn't have a Base Definition.  This has been fixed
      
      This commit also removed the exchange mechanism on the qt Associate Widget (since no one was using it and it prevented the ability to do extended selection).  Extended selection on both the Current and Available List have now been added.
      39b507fa
  4. 08 Jan, 2019 1 commit
    • David Thompson's avatar
      Fix query operation for qtModelEntityAttributeView. · babef3c8
      David Thompson authored
      Do not attempt to decode the search string into a bit vector
      and back again; if the conversion back to a string had been
      done with `flagToSpecifierString()` instead of `flagSummary()`,
      it would have worked for auxiliary surfaces, but instead we
      should just avoid converting at all; that will make the view
      proof against future changes to the query string format.
      
      This also adds `*` as a valid model-entity specifier string
      (to mean the same as `any`).
      babef3c8
  5. 31 Dec, 2018 2 commits
    • T.J. Corona's avatar
      qtUIManager: contrast text box colors with text color · 5172c4b1
      T.J. Corona authored
      The default colors defined in smtk::attribute::Definition presuppose the
      use of a dark font. This method tests the font lightness and, if the font
      color is light, it adapts the input color to contrast with it.
      
      TODO: We may not want to define color in smtk::core. Instead, we may want
            to use Qt's convention of naming entities within a color palette
            rather than hard-coding colors; these descriptions should also live
            in the smtk::extensions::qt library, where they are used.
      5172c4b1
    • T.J. Corona's avatar
  6. 28 Dec, 2018 1 commit
    • David Thompson's avatar
      Add an example session and fix several issues. · 2ed0955b
      David Thompson authored
      + Fix style.
          + No tabs are allowed.
          + Only compiler/system headers should use leading underscores in macros.
          + Eliminate unused class-static member.
          + Eliminate warnings.
      + Fix crashes.
          + When destroying the widget for an operation/attribute whose
            qtReferenceItem that had never popped open its drop-down editor,
            a "hide" event was being sent to the widget even though it was
            not visible. Ignore it to avoid a crash.
      + Fix resource phrase to report filename w/o directory.
        If no directory is provided (only a filename), then
        report the current working directory, which is where the
        file will be saved.
      + Fix `smtk:attribute::Attribute::associatedObjects()`.
        This fixes a bad dynamic pointer cast so that persistent
        objects associated to an attribute can be extracted into
        a provided container type.
      + Add a way to query mtime to the VTK aux geom extension.
        This is used by the oscillator to decide when to refresh
        its custom auxiliary geometry's tessellation.
      + Ignore ParaView/Catalyst server connections.
      2ed0955b
  7. 21 Dec, 2018 1 commit
  8. 17 Dec, 2018 2 commits
    • David Thompson's avatar
      Turn off asynchronous SMTK operations. · bc3d89ff
      David Thompson authored
      This causes problems with observers running in non-GUI threads
      calling Qt code.
      bc3d89ff
    • David Thompson's avatar
      Make qtResourceBrowser more useful as a standalone widget. · 51d82b42
      David Thompson authored
      + Allow a subclassed qtDescriptivePhraseModel instance to be passed to
        its constructor.
      + Make the ParaView-specific visibility decorator available for other
        ParaView plugins to use.
      + Expose the qtResourceBrowser's QTreeView.
      + Move most of pqSMTKResourcePanel into qtResourceBrowser (Qt parts) and
        pqSMTKResourceBrowser (ParaView parts).
        This will allow easier customization, and particularly
        allows people to use the widget without it being central to
        a dock widget, making it simpler to configure components in
        the widget that are needed at construction time.
      + Also, make pqSMTKResourcePanel::Internal::m_phraseModel point to
        the base class (PhraseModel) rather than the particular subclass
        we use (ResourcePhraseModel).
      + Better nullptr testing to prevent crashes when invalid QModelIndex values
        are used.
      + Test whether the model passed to qtDescriptivePhraseDelegate::editorEvent
        is a QAbstractItemModel such as QSortFilterProxyModel; if it is, then map
        the index.
      + Store descriptive phrase pointers in QVariants and provide a way to
        obtain phrase pointers from a QModelIndex without access to the
        underlying QAbstractItemModel.
        This allows clean separation between our QAbstractItemModel subclass
        and classes that consume its QModelIndex instances.
        The separation makes it possible to pass a QAbstractProxyModel to
        use instead of a qtDescriptivePhraseModel so that searching can
        be exposed in the GUI.
      51d82b42
  9. 07 Dec, 2018 1 commit
  10. 06 Dec, 2018 1 commit
  11. 05 Dec, 2018 4 commits
    • David Thompson's avatar
      Eliminate warnings on macos 10.14. · a53df831
      David Thompson authored
      a53df831
    • David Thompson's avatar
      Refactor pqSMTKResourcePanel into qtResourceBrowser. · 944a1c97
      David Thompson authored
      + Refactor all but the ParaView-specific pieces from
        the SMTK resource panel widget into a new class named
        qtResourceBrowser.
      + Remove the unimplemented search text entry from the
        resource panel.
      + Add methods to qtSMTKUtilities to accept an override for
        the QTreeView widget.
      + Moves synchronization of the SMTK selection (when resources
        rather than components are selected) with ParaView's
        pipeline inspector into a new behavior named
        pqSMTKPipelineSelectionBehavior.
      + Fix the `Selection::visitSelection()` method; it
        was not possible to call the more general visitor
        because shared pointers can be implicitly converted.
      + Add a `relatedObject()` method to descriptive phrases
        and phrase content. Arguably, this should replace
        `relatedComponent()` and `relatedResource()` as the
        only method they provide.
      944a1c97
    • T.J. Corona's avatar
      Add Import Into... file option. · c9a716a0
      T.J. Corona authored
      c9a716a0
    • Bob Obara's avatar
      ENH: Adding observers to AssociationWidget and ModelEntityAttributeView · e68566cb
      Bob Obara authored
      - Also fixed Import Issue
      - Added reference to operation manager in Attribute Panel
      - Resource Manager now tells observers a resource has been removed after it has been removed from the manager's set of resources and the resource's manager is cleared.
      - Attribute Association operator now returns the attribute resource being modified in its result
      e68566cb
  12. 03 Dec, 2018 1 commit
    • David Thompson's avatar
      Various improvements and fixes to the GUI. · ef965d1e
      David Thompson authored
      + Refactor the resource-panel decorator into a method.
      + Properly update the attribute when the sphere widget changes.
        ParaView now emits a signal when properties are changed via Qt.
        Use it to update the SMTK attribute's item(s).
        Do not print errors when none may have occurred.
      + Fix how auxiliary geometry is handled.
        Without this, the RGG extension would be used to load OBJ
        files (rather than the VTK extension) just because it was
        first in the list.
      + Remove redundant created/modified entries in AddAuxiliaryGeometry.
        This appears to be cruft accumulated during the
        migration from ModelEntityItem to ReferenceItem/ComponentItem.
      + Prevent a crash during first-time initialization in qtReferenceItem.
      + Eliminate unneeded code from qtResourceItem.
        The base class now handles this.
      + Override `smtk::resource::Resource::name()`.
        Make the name the stem of the location URL.
        Showing a UUID here is really bad for users,
        so pretty much anything is better.
      + Fix attribute association op's specification.
      + Fix qtResourceItem membership checkboxes.
      + Make qtReferenceItem return the proper "acceptable types" enum,
        which fixes an issue where associations which are supposed to be
        resources instead list components.
      + Add a phrase model that shows the current selection.
      + Allow phrase model sources to include a selection.
      ef965d1e
  13. 26 Nov, 2018 1 commit
  14. 21 Nov, 2018 4 commits
    • David Thompson's avatar
      Improve qtReferenceItem usability. · f1a1a05b
      David Thompson authored
      + Highlight changes as they are made in the popup.
      + Attach the popup dialog to the popup button (by changing it
        into a QToolButton). This also simplifies the popup dialog
        since a separate synopsis and "done" button are not really
        needed. Instead, clicking outside the popup will attempt
        to save the members (and pressing escape will abort changes).
      + Fix more buggy behavior TJ noticed.
      f1a1a05b
    • David Thompson's avatar
      Fix some buggy behavior TJ noticed. · ffb82d68
      David Thompson authored
      ffb82d68
    • David Thompson's avatar
      Highlight reference item membership on hover. · 8d1dbb15
      David Thompson authored
      This modifies qtReferenceItem to implement link hover highlighting.
      
      Additionally, there are a number of supporting changes:
      + We add a new mode for `smtk::view::Selection::modifySelection()`
        that will apply modifications bitwise. It is not the default, though
        it should become the default
      + Prevent selection updates during selection updates in the
        pqSMTKResourcePanel.
      + In the qtModelEntityAttributeView, do not display a row's attribute
        if it is already being displayed. Doing so causes problems when a
        highlight is added to the selection but the primary selection is
        unchanged, resulting in flickering during mouse hovering over
        qtReferenceItem children of the attribute attached to a model item.
      + Be more careful about selection bit values in several places where
        previously selection-map membership alone was being tested or where
        0 values were written to a selection-map (when in fact that should
        result in the map entry being erased).
      8d1dbb15
    • David Thompson's avatar
      Add some controls to qtReferenceItem. · 5c4db951
      David Thompson authored
      5c4db951
  15. 20 Nov, 2018 2 commits
  16. 19 Nov, 2018 1 commit
    • Bob Obara's avatar
      ENH: Changing Association Widget to use Resource Link System · 9207bb84
      Bob Obara authored
      - Also made ReferenceItemDefinition's setRole method protected and made Definiiton a friend so it could use it
      - Updated qtModelEntityAttributeView to also use the Resource Link System
      - Added attributes() methods to both attribute::Resource and attribute::definition to return attributes asscoiated with a persistent object
      9207bb84
  17. 16 Nov, 2018 1 commit
    • T.J. Corona's avatar
      Add infrastructure for a centralized operation launcher · 37f176de
      T.J. Corona authored
      This MR adds the concept of an operation launcher to the operation
      manager. The default operation launcher executes an operation in a
      child thread.  The MR also introduces a Qt-enabled launcher that
      executes operations in a child thread and signals from the main thread
      when it executes an operation.
      37f176de
  18. 14 Nov, 2018 1 commit
    • David Thompson's avatar
      Many changes related to descriptive phrase views. · cf3795c8
      David Thompson authored
      + Implement `PhraseModel::handleCreated()`.
      + Hold expunged model entities rather than UUIDs.
        Change `smtk::model::Resource::deleteEntities()` so that the expunged
        container holds `Entity` shared-pointers rather than UUIDs;
        this keeps the entity records from going out of scope as they are
        removed from the model resource (long enough that the operation result
        can be processed to remove them from the UI).
      + Properly remove phrases of deleted components.
        This also removes overrides that ResourcePhraseModel provided for
        handling operation results; the base class implementation should
        do what is needed without further work by the subclass.
      + Provide a flatter (two-level) resource tree.
      + Documentation for views and phrases.
      + Improve sorting of descriptive phrases
        by comparing smtk::resource::Component subclasses and
        model entity types.
      + Show a valid icon for lists, not the invalid icon.
      + Eliminate some warnings from other parts of SMTK.
      + Make subphrase generator a user preference in the ParaView extensions.
      cf3795c8
  19. 08 Nov, 2018 1 commit
  20. 02 Nov, 2018 3 commits
  21. 01 Nov, 2018 2 commits
    • T.J. Corona's avatar
      Updates to paraview plugins that simplify resource loading · 3cf945c2
      T.J. Corona authored
      This update enforces the following behaviors:
      
        1. When resoures are loaded via File->Open, ParaView semantics
        apply: the apply button must be pressed to complete opening the
        file. This matches the functionality of the other ParaView readers
        (that are selectable when there are multiple readers for a file
        type).
      
        2. When a resource is created via File->New Resource, a modal dialog
        is presented to the user. When the user presses apply on the dialog,
        the resource is generated and its representation is rendered. The
        Properties Panel's apply button is never enabled. NOTE: the original
        plan was to move the contents of the modal dialog to the Properties
        Panel. This worked, but it looked pretty bad and was not intuitive.
      
        3. When a resource is created by an operation from the Operation
        Panel, the resource is generated and its representation is
        rendered. The Properties Panel's apply button is never enabled.
      3cf945c2
    • Haocheng LIU's avatar
      Restore function evaluation feature in SimpleExpression view · 5ab37ce5
      Haocheng LIU authored
      The function evaluation feature in SimpleExpression view relies on VTK.
      However, also do we want to be able to preview this view with only Qt
      enabled. In order to do so this MR creates a subclass of qtSimpleExpressionView
      and it would override the SimpleExpression view constructor at runtime.
      That being said now users can preview it with only Qt enabled and do
      function evaluation when both Qt and VTK are enabled.
      5ab37ce5
  22. 31 Oct, 2018 1 commit
  23. 29 Oct, 2018 1 commit
  24. 28 Oct, 2018 1 commit