Browser Queries
Concepts
Browser Queries can be used in two ways. Browser Filters
are used to reduce the number of displayed items of a browser view.
Browser Searches are used to highlight items that are displayed in a
browser view.
When a browser query is activated, each item in the browser view will be
matched against at least one criterion. A criterion is defined by a column,
an operation and a value. That criterion will be applied to each browser
item during the query. A criterion is
specified in the form of a property list, as follows
(:column column-keyword :operation operation-keyword :value item-value)
where
- column-keyword must be a registered column of the browser at
hand. The column need not be visible in the tree or detail part of the
browser view. The column keyword can be either a pre-defined column or a column that was
previously created with one of the column creation functions.
-
operation-keyword must be one of the following keywords
- :equals (Default)
- :not-equals
- :greater-than
- :less-than
- :greater-than-or-equals
- :less-than-or-equals
- :is-defined
- :is-not-defined
If the operation specification is omitted, then
operation-keyword defaults to :equals
. Use
:is-defined or :is-not-defined to determine whether a
column is appropriate for a given item or not. These two operations are
most commonly used in conjunction with UDA columns. An explanation of
the use of UDA columns can be found in Browser Views.
- item-value must be of the same type as the type of the
specified column. When using the :is-defined and
:is-not-defined operations then the :value property is not
required and will be ignored.
If more than one criterion is specified, then the query definition must
specify how the criteria are to be combined. Two alternatives are provided:
either all or any of the criteria must match.
Customization files with the basename "browser_search_and_filter.lsp" are
automatically loaded during the startup of Creo Elements/Direct Modeling.
The customization files are loaded in the order
:sd-corp-site-user
.
Creo Elements/Direct Modeling is delivered with a predefined set of
search and filter queries (as defined in the file
"sd_browser_search_and_filter.lsp" in the directory
"personality/sd_customize").
If the predefined queries are modified (via the Search/Filter UI) or if
new queries are generated, then they will automatically be stored to the
user customization file on exiting Creo Elements/Direct Modeling. That file
is named "sd_browser_search_and_filter.lsp" and is located in the user customization
directory. That user customization file will be loaded during the
restart of Creo Elements/Direct Modeling.
Browser Filters
SD-CREATE-BROWSER-FILTER [function]
(sd-create-browser-filter browser-name
:name name
:title title
:criteria criteria
:match match
:case-sensitive case-sensitive
:enable enable-form)
- Description:
- Function to create a new browser filter.
-
- Parameters:
-
- browser-name {STRING} - Name of the browser to which the
filter will be applied.
- Name of an existing browser, e.g. "parcel-gbrowser".
- :name {STRING} - Name of this browser filter.
- This name should be a unique filter name for the browser at hand.
If the name coincides with an existing filter, then that filter will
destroyed and a new filter will be recreated based on the new options.
If no name is supplied, then the filter will be given the name
"NONAME-FILTER"
- :title {STRING} - Title of this browser filter.
- This title will be displayed in all places where the browser
filter is displayed in the UI (e.g. in a pulldown menu and in the
filter UI). If no title is supplied, then the title "unnamed" will be
used.
- :criteria {LIST of PLISTs} - Query criteria for this
filter.
- Defines any number of query criteria for this filter. Each
criterion is defined as a property list.
-
((:column column_1 :operation operation_1 :value value_1)
(:column column_2 :operation operation_2 :value value_2)
...
)
- :match {KEYWORD [:all]} - Specifies the combined effect if
more than one criterion is supplied.
-
- :all - a query match for a browser item occurs if all
criteria match.
- :any - a query match for a browser item occurs if at
least one of the criteria matches.
- :case-sensitive {BOOLEAN [t]} - Specifies whether the value
comparisons will be executed in a case sensitive manner or not.
- If this option is nil, then upper and lower case characters will
be treated as equal.
- :enable {BOOLEAN [t]} - Enable condition for this
filter.
- If the supplied enable condition evaluates to nil then the filter
will not available and cannot be selected via the filter pulldown menu
or via the filter UI.
-
- Return Value:
-
- t - if successful
- nil - if unsuccessful
-
- Example:
-
(defun my-filter-enabled-p ()
;;return value t or nil.
t)
(sd-create-browser-filter
"parcel-gbrowser"
:name "MY-FILTER"
:title "My Filter"
:case-sensitive nil
:match :all
:criteria '((:column :instance-name :operation :equals :value "f*")
(:column :modifiable :value t))
:enable '(my-filter-enabled-p))
SD-DELETE-BROWSER-FILTER [function]
(sd-delete-browser-filter browser-name name)
- Description:
- Function to delete an existing browser filter uniquely identified by
browser-name and name.
-
- Parameters:
-
- browser-name {STRING} - Name of the browser that contains
the filter.
- name {STRING} - Name of the browser filter to be
deleted.
-
- Return Value:
-
- t - success
- nil - invalid browser-name or name
-
- Example:
-
(sd-delete-browser-filter "parcel-gbrowser" "MY-FILTER")
SD-SET-CURRENT-BROWSER-FILTER [function]
(sd-set-current-browser-filter browser-name name
:activate activate
:persistent persistent)
- Description:
- This function sets the current filter. The specified filter is
displayed in bold letters in the filter pulldown menu. If the filter is
activated, then the browser view will refect the action of the filter and
display a checkbox in the filter pulldown menu.
-
- Parameters:
-
- browser-name {STRING} - Name of the browser that contains
the filter.
- name {STRING} - Name of the browser filter that is to be
made current.
- :activate {BOOLEAN [nil]} - Activate the filter.
- If this option is set to
t
, then the filter will be
activated.
- :persistent {BOOLEAN [nil]} - Persistently store the filter
as current.
-
- Return Value:
-
- t - success
- nil - failure occured
-
- Example:
-
(sd-set-current-browser-filter "parcel-gbrowser" "MY-FILTER"
:activate t :persistent t)
Browser Searches
SD-CREATE-BROWSER-SEARCH [function]
(sd-create-browser-search browser-name
:name name
:title title
:criteria criteria
:match match
:case-sensitive case-sensitive
:enable enable-form)
- Description:
- Function to create a new browser search.
-
- Parameters:
-
- browser-name {STRING} - Name of the browser to which the
search will be applied.
- Name of an existing browser, e.g. "parcel-gbrowser".
- :name {STRING} - Name of this browser search.
- This name should be a unique search name for the browser at hand.
If the name coincides with an existing search, then that search will
destroyed and a new search will be recreated based on the new options.
If no name is supplied, then the search will be given the name
"NONAME-SEARCH"
- :title {STRING} - Title of this browser search.
- This title will be displayed in all places where the browser
search is displayed in the UI (e.g. in a pulldown menu and in the
search UI). If no title is supplied, then the title "unnamed" will be
used.
- :criteria {LIST of PLISTs} - Query criteria for this
search.
- Defines any number of query criteria for this search. Each
criterion is defined as a property list.
-
((:column column_1 :operation operation_1 :value value_1)
(:column column_2 :operation operation_2 :value value_2)
...
)
- :match {KEYWORD [:all]} - Specifies the combined effect if
more than one criterion is supplied.
-
- :all - a query match for a browser item occurs if all
criteria match.
- :any - a query match for a browser item occurs if at
least one of the criteria matches.
- :case-sensitive {BOOLEAN [t]} - Specifies whether the value
comparisons will be executed in a case sensitive manner or not.
- If this option is nil, then upper and lower case characters will
be treated as equal.
- :enable {BOOLEAN [t]} - Enable condition for this
search.
- If the supplied enable condition evaluates to nil then the search
will not available and cannot be selected via the search pulldown menu
or via the search UI.
-
- Return Value:
-
- t - if successful
- nil - if unsuccessful
-
- Example:
-
(defun my-search-enabled-p ()
;; return value t or nil.
t)
(sd-create-browser-search
"parcel-gbrowser"
:name "MY-SEARCH"
:title "My Search"
:case-sensitive nil
:match :all
:criteria '((:column :instance-name :operation :equals :value "f*")
(:column :modifiable :value t))
:enable '(my-search-enabled-p))
SD-DELETE-BROWSER-SEARCH [function]
(sd-delete-browser-search browser-name name)
- Description:
- Function to delete an existing browser search uniquely identified by
browser-name and name.
-
- Parameters:
-
- browser-name {STRING} - Name of the browser that contains
the search.
- name {STRING} - Name of the browser search to be
deleted.
-
- Return Value:
-
- t - success
- nil - invalid browser-name or name
-
- Example:
-
(sd-delete-browser-search "parcel-gbrowser" "MY-SEARCH")
SD-SET-CURRENT-BROWSER-SEARCH [function]
(sd-set-current-browser-search browser-name name
:activate activate
:persistent persistent)
- Description:
- This function sets the current search. The specified search is
displayed in bold letters in the search pulldown menu. If the search is
activated, then the browser view will refect the action of the search and
display a checkbox in the search pulldown menu.
-
- Parameters:
-
- browser-name {STRING} - Name of the browser that contains
the search.
- name {STRING} - Name of the browser search that is to be
made current.
- :activate {BOOLEAN [nil]} - Activate the search.
- If this option is set to
t
, then the search will be
activated.
- :persistent {BOOLEAN [nil]} - Persistently store the search
as current.
-
- Return Value:
-
- t - success
- nil - failure occured
-
- Example:
-
(sd-set-current-browser-search "parcel-gbrowser" "MY-SEARCH"
:activate t :persistent t)
Customization File
SD-LOAD-BROWSER-SEARCH-AND-FILTER-CUSTOMIZATION [function]
(sd-load-browser-search-and-filter-customization basename
:application application)
- Description:
- This function loads query customization files from the appropriate
directories. In contrast to sd-load-customization-file
it keeps track of the the sources of the queries in order to properly save
user specific queries to the user customization file.
-
- Parameters:
-
- basename {STRING} - Basename of the file to be loaded.
- application {STRING ["SolidDesigner"]} - Name of the
application.
-
- Return Value:
-
- :user
-
- Example:
-
(sd-load-browser-search-and-filter-customization "browser_search_and_filter.lsp"
:application "ModelManager")
© 2023 Parametric
Technology GmbH
(a subsidiary of PTC Inc.), All Rights Reserved |