/SCView

Simple Express-G Viewer. Tiny implementation. Based on STEPCode

Primary LanguageC++

SCView

SCView is a Step Express data viewer
SCView stands for StepCode View

Features

One model

  • SCView stores one data model : the express schema
  • Multi models support may come (?)

3 views

SCView delivers 3 views of the same model

  • The tree view
  • The Express-G view : a diagram based representation
  • The Express text view

Search / find

  • At the top right corner of the window, the find function (Ctrl+F) provides search with completion

Tree View

* The top Item represents the schema. It has two children: * The list of entities * The list of types * Lists display their children

Navigation
Selecting one entity or type in the tree will display the selection in the two other views

Show / Hide with F3

The Express-G view

* Delivers a diagram representation of the currently selected Entity
* The composition structure is partially implemented * The inheritance view is NOT implemented * other features like cardinality, rules... are NOT implemented

Navigation
Double clicking one entity or type will display the selection in the two other views

The Express Text Editor

* Displays the selected entity/type in the Express format * Has a syntax highlighter * Is Read only : no edition features ! * Has mouse tracking over objects and popup as tooltip the express description * Provides Hypertext-like navigation

The Highlighter

  • Types
  • Entities
  • Simple Types
  • Some keywords

Navigation
Double clicking one entity or type will display the selection in the two other views

Show / Hide with F4

Standard undo / redo

  • Undo with Ctrl+Z
  • Redo with Ctrl+Y
  • To navigate backward / forward

Express-G supported features

Types and diagram representation
Type Description Express Definition Express-G Representation
Basic types Keywords
  • INTEGER
  • REAL
  • BOOLEAN
  • LOGICAL
  • STRING
  • BINARY
  • NUMBER
Img: Basic type example
User Defined TYPE label = STRING;
END_TYPE;
Img: Defined type
SELECT TYPE curve_on_surface = select
(pcurve,
surface_curve,
composite_curve_on_surface);
END_TYPE;
Img: Select type
ENUMERATION TYPE marker_type = ENUMERATION OF
(dot, x, plus, asterisk, ring, square, triangle);
END_TYPE;
Img: Enum type

And that's all for now...

Dependencies

Based on STEP-Code and Qt

Warning:

  • Development version
  • Partial implementation of Express, especially Express-G
  • Use it for test, DO NOT use it in production / operation
  • Made for fun