Represents a view of a QisMFile database
QisMViewQisMView C++ API (qismview.h)Data Structures (qismbase.h)struct QisMNestingclass QisMViewVersion ControlGet_last_error_msg()Get_db_idx()Get_processor_idx()Set_view_cell()Get_view_cell()Set_layers_on()Set_layers_off()Get_layer_onOff()Get_layers_on()Free_layer_list()Set_text_on()Get_text_on()Set_exact_window()Get_window()Set_nesting_level()Get_nesting_level()Reset_view()
Nesting level flags
struct QISMLIB_LNX_DECLSPEC QisMNesting{ enum { ALL=-1 }; /* All nesting levels */};The API to work with an independent view of the file loaded into the database
xxxxxxxxxxclass QisMView { ... };Cast to a pointer of another version in the QisMView class hierarchy (base/derived).
Get the latest version number of the implementation.
Version numbers start at 1 and are reflected in the class name using the suffix V
Version number -1 returns QisMView*.
The cast returns NULL if a version number is not recognized/implemented
xxxxxxxxxxvirtual void* QisMView_cast(const int version) = 0;virtual const void* QisMView_cast(const int version) const = 0;virtual int QisMView_latest_version() const = 0;Get more information about the last error condition in form of an error string
xxxxxxxxxxvirtual const char* Get_last_error_msg() const = 0;Reserved for internal use
xxxxxxxxxxvirtual int Get_db_idx() const = 0;virtual int Get_processor_idx() const = 0;Load a particular cell as the current view cell
cellname : Name of an existing cell to be set as the view cell
Success : Returns true
Failure : Returns false. Call Get_last_error_msg to get more information about the error
By default, the default top cell (top cell with the deepest hoerarchy) is the view cell
Upon setting a view cell, the view window changes to the extents of the view cell
Other view settings such as the text on/off, layers on/off, nesting level remain un-affected
This function will fail if a database traversal is in progress for the current view object (if a new thread was created for that purpose)
xxxxxxxxxxvirtual bool Set_view_cell(const char* cellname) = 0;Get the current view cell
RETURN : Name of the current view cell
xxxxxxxxxxvirtual const char* Get_view_cell() const = 0;Turn layers or layer:datatypes ON or OFF
layers : "ALL" or a command separated list of layer(s) or layer:datatype(s)
Success : Returns true
Failure : Returns false. Call Get_last_error_msg to get more information about the error
If only the layer number is specified, all datatypes for that layer are turned on/off.
All other layer:datatype combinations (not specified) will be turned off/on. Hence, multiple calls to this function is not cumulative
Invalid layer or datatypes numbers will be ignored
By default, all layers are ON
This function will fail if a database traversal is in progress for the current view object (if a new thread was created for that purpose)
xxxxxxxxxxvirtual bool Set_layers_on(const char* layers) = 0;virtual bool Set_layers_off(const char* layers) = 0;Get the ON/OFF state of a layer:datatype number
layer : layer number
dttp : datatype number
Returns true : ON
Returns false : OFF (same for invalid/non-existing layer:datatype)
xxxxxxxxxxvirtual bool Get_layer_onOff( const unsigned short layer, const unsigned short dttp ) const = 0;Get a list of layer and datatype pairs that are currently ON
layers : Buffer to store the address of the list of layer numbers
dttps : Buffer to store the address of the list of datatype numbers
Success : Returns the number of items in the two lists (N >= 0)
Failure : Returns Error code (N < 0). Call Get_last_error_msg to get more information about the error
The lists of layer and datatype numbers are allocated every time this method is called. Use Free_layer_list to release the memory associated with each of them in order to avoid memory leak
xxxxxxxxxxvirtual int Get_layers_on( unsigned short*& layers, unsigned short*& dttps ) const = 0;Release the memory associated with a list of layer or datatype numbers
layersOrDttps : List of layer or datatype numbers
xxxxxxxxxxvirtual void Free_layer_list(unsigned short* layersOrDttps) = 0;Control whether text elements are processed during operations involving database traversal
set : ON => true, OFF => false
This function will do nothing if a database traversal is in progress for the current view object (if a new thread was created for that purpose)
xxxxxxxxxxvirtual void Set_text_on(const bool set = true) = 0;Get the text ON/OFF setting
Returns true : texts are turned ON
Returns false : texts are turned OFF
xxxxxxxxxxvirtual bool Get_text_on() const = 0;Set the view window to the specified co-ordinates
view : The min-max co-ordinates (in file units) of the view window to be set
Success : Returns true
Failure : Returns false. Call Call Get_last_error_msg to get more information about the error
This function will fail if a database traversal is in progress for the current view object (if a new thread was created for that purpose)
xxxxxxxxxxvirtual bool Set_exact_window(const QisMWindow& view) = 0;Get the co-ordinated of the view window
view : Buffer to retreive the co-ordinates (in file units) of the current view
xxxxxxxxxxvirtual void Get_window(QisMWindow& view) const = 0;Set the level of hierarchy (nesting level) for which data is processed during database traversal operations
level : QisMNesting::ALL (for all nesting levels ON) or N > 0 for a specific nesting level to be turned ON
Default is QisMNesting::ALL (Process data at all levels)
This function will do nothing if a database traversal is in progress for the current view object (if a new thread was created for that purpose)
xxxxxxxxxxvirtual void Set_nesting_level(const int level) = 0;Get the cell hierarchy level for which data is processed during database traversal operations
The current nesting level (N > 0) or QisMNesting::ALL (all levels)
xxxxxxxxxxvirtual int Get_nesting_level() const = 0;Reset the view to it's default settings
Layers : All layers are ON
Cell : View cell is the default top cell (top cell with the deepest hierarchy)
Nesting level : All
Window : Extents of the view cell
Texts : ON
This function will wait until the database traversal is completed for the current view object (if a new thread was created for that purpose)
xxxxxxxxxxvirtual void Reset_view() = 0;Last Updated -- Wed Nov 19 18:21:59 UTC 2025