wiki:Public/Docs/CinnamonClientContentsTabControls

Version 1 (modified by Administrator, 5 years ago) ( diff )

The contents tab controls

There are several tab controls that show lists of content - the files and subfolders in a folder, search results or the folders directly in the session context.

They all internally use the same specialized list view control to display the actual content lists, and thus, their configuration is quite similar.

The following example shows the configuration of the folder contents control:

<tab_control assembly="CinnamonEnterpriseClient" type="ContentsFolderControl" display="tree">
  <!-- tab_control may have the values for display: tree, list, all -->
  <custom>
    <node_data_provider assembly="CinnamonEnterpriseClient" type="DefaultNodeDataProvider" />
    <filters default="trunk">
      <filter assembly="CinnamonEnterpriseClient" type="AllVersionsFilter" />
      <filter assembly="CinnamonEnterpriseClient" type="LatestTrunkVersionsFilter" />
      <filter assembly="CinnamonEnterpriseClient" type="LatestBranchVersionsFilter" />
    </filters>
    <columns>
      <!-- currently supported: name, id, format, type, size, owner, locked, lifecycle, path -->
      <list_view_column type="name" width="200" sort="ascending" />
      <!-- name  must always be first column -->
      <list_view_column type="version" width="50" />
      <list_view_column type="format" width="50" />
      <list_view_column class="custom" type="revision" label="Revision" width="50" />
      <list_view_column type="lifecycle" width="80" />
      <list_view_column type="owner" width="80" />
      <list_view_column type="modifier" width="80" />
      <!--<list_view_column class="custom" type="author" label="Author" width="100" />-->
      <list_view_column class="custom" type="document_type" label="Document type" width="100" />
      <list_view_column class="custom" type="region" label="Region" width="100" />
      <list_view_column class="custom" type="model" label="Model" width="300" />
      <!-- <list_view_column type="path" width="120"/> -->
    </columns>
    <events>
      <key_event key="V" selection_filter="folder" ctrl="True" shift="False" alt="False" assembly="Praties" type="PasteFolderFunction" event_type="execute_method" />
      <key_event key="X" selection_filter="folder" ctrl="True" shift="False" alt="False" assembly="Praties" type="CutFolderFolderFunction" event_type="execute_method" />
      <key_event key="C" selection_filter="folder" ctrl="True" shift="False" alt="False" assembly="Praties" type="CopyFolderFolderFunction" event_type="execute_method" />
      <key_event key="Delete" selection_filter="folder" ctrl="False" shift="False" alt="False" assembly="CinnamonEnterpriseClient" type="DeleteListFunction" event_type="execute_method" />
      <key_event key="F5" selection_filter="folder" ctrl="False" shift="False" alt="False" event_type="refresh" />
      <key_event key="F5" selection_filter="object" ctrl="False" shift="False" alt="False" event_type="refresh" />
      <key_event key="F5" selection_filter="list" ctrl="False" shift="False" alt="False" event_type="refresh" />
      <key_event key="F5" selection_filter="nothing" ctrl="False" shift="False" alt="False" event_type="refresh" />
      <key_event key="X" selection_filter="object" ctrl="True" shift="False" alt="False" assembly="Praties" type="CutObjectFunction" event_type="execute_method" />
      <key_event key="C" selection_filter="object" ctrl="True" shift="False" alt="False" assembly="Praties" type="CopyObjectFunction" event_type="execute_method" />
      <key_event key="Delete" selection_filter="object" ctrl="False" shift="False" assembly="CinnamonEnterpriseClient" type="DeleteListFunction" event_type="execute_method" />
      <key_event key="Enter" selection_filter="object" ctrl="False" shift="False" assembly="Praties" type="ViewObjectFunction" event_type="execute_method" />
      <key_event key="A" selection_filter="folder" ctrl="True" shift="False" alt="False" event_type="select_all" />
      <key_event key="A" selection_filter="object" ctrl="True" shift="False" alt="False" event_type="select_all" />
      <key_event key="A" selection_filter="list" ctrl="True" shift="False" alt="False" event_type="select_all" />
      <key_event key="A" selection_filter="nothing" ctrl="True" shift="False" alt="False" event_type="select_all" />
      <key_event key="X" selection_filter="list" ctrl="True" shift="False" alt="False" assembly="Praties" type="CutListFunction" event_type="execute_method" />
      <key_event key="Delete" selection_filter="list" ctrl="False" shift="False" alt="False" assembly="CinnamonEnterpriseClient" type="DeleteListFunction" event_type="execute_method" />
      <drop_event selection_filter="folder" ctrl="false" shift="false" alt="false" mouse_button="left" event_type="execute_method" assembly="Praties" type="CutFolderFolderFunction" />
      <drop_event selection_filter="object" ctrl="false" shift="false" alt="false" mouse_button="left" event_type="execute_method" assembly="Praties" type="CutObjectFunction" />
      <drop_event selection_filter="list" ctrl="false" shift="false" alt="false" mouse_button="left" event_type="execute_method" assembly="Praties" type="CutListFunction" />
      <drag_event selection_filter="object" ctrl="false" shift="false" alt="false" mouse_button="left" event_type="execute_method" assembly="Praties" type="CutObjectFunction" />
      <drag_event selection_filter="folder" ctrl="false" shift="false" alt="false" mouse_button="left" event_type="execute_method" assembly="Praties" type="CutFolderFolderFunction" />
      <drag_event selection_filter="list" ctrl="false" shift="false" alt="false" mouse_button="left" event_type="execute_method" assembly="Praties" type="CutListFunction" />
      <drag_event selection_filter="object" ctrl="true" shift="false" alt="false" mouse_button="left" event_type="execute_method" assembly="Praties" type="CopyObjectFunction" />
      <drag_event selection_filter="folder" ctrl="true" shift="false" alt="false" mouse_button="left" event_type="execute_method" assembly="Praties" type="CopyFolderFolderFunction" />
      <drag_event selection_filter="object" ctrl="false" shift="false" alt="false" mouse_button="right" event_type="execute_method" assembly="Praties" type="CopyOrMoveObjectFunction" />
      <drag_event selection_filter="folder" ctrl="false" shift="false" alt="false" mouse_button="right" event_type="execute_method" assembly="Praties" type="CopyOrMoveFolderFunction" />
      <drag_event selection_filter="list" ctrl="false" shift="false" alt="false" mouse_button="right" event_type="execute_method" assembly="Praties" type="CopyOrMoveListFunction" />
    </events>
  </custom>
</tab_control>

The following configuration sections are available:

  • node_data_provider referencing a class implementing the way how information to an object or folder is retrieved. In most cases (as in this example), a configurable default implementation is used. In some cases, though, a custom implementation can provide more specific behaviour.
  • filters defining the list display options in the folder content view. By standard, the available options are:
    • Show latest version (default)
    • Show latest versions in all branches (if there are branch versions, all end branches will be shown)
    • Show all versions (entire list of all versions of all objects)

It is possible, though, to add custom filters (like, for example, a filter that shows the latest, released versions of an object, or to remove filters.

  • columns defining the metadata fields that should be shown with the objects and folders. The configuration resembles the column definitions in the relations tab control.
  • events defining the key and drag/drop events and the functions assigned.

NOTE: Drag & drop is under construction, but not yet available.

Note: See TracWiki for help on using the wiki.