Simple Express-G Viewer. Tiny implementation. Based on STEPCode
C++ CMake QMake
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
expressg
icones
textView reorg files, overide cursor "pointing hand" in text view Sep 14, 2012
CMakeLists.txt
EntityDescriptorWidget.cpp
EntityDescriptorWidget.h
EntityDescriptorWidget.ui
ExpressTextEdit.cpp
ExpressTextEdit.h
ExpressViewDockWidget.cpp
ExpressViewDockWidget.h
MainWindow.cpp
MainWindow.h
MainWindow.ui
NavigateCommand.cpp
NavigateCommand.h
README.md
SCLDockWidget.cpp
SCLDockWidget.h
SCLView.pro
SchemaTree.cpp
SchemaTree.h
SchemaTreeDockWidget.cpp
SchemaTreeDockWidget.h
main.cpp
manhattanstyle.cpp
manhattanstyle.h
sclview.qrc
styleanimator.cpp
styleanimator.h

README.md

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