2016-10-27 – rattleCAD 3.4.03.21

Addintional MVC-Model model_Info

The rattleCAD GUI needs a view to share values that does not belong to the geometry model. These non-geometry values are e.g. information about the current project.

  • Project Name
  • last update …

Therefore a new model-namespace is created and will be updated by the MVC-control.

myGUI::modelAdapter::updateModel_Info   ::myGUI::model::model_Info

A Middle-Man procedure found

see a definition here: https://sourcemaking.com/refactoring/smells/middle-man

The procedure

 myGUI::modelAdapter::updateModel

refered to

 myGUI::modelAdapter::get_projectDICT

In this case the procedure get_projectDICT will be removed and its call of

$modelContext getModelDictionary

will be transfered to updateModel.

Introduce a Debug-Option for later comparison

Target of the current refactoring steps is to get a situation to change between the current geometry-Model

bikeGeometry ... referenced by myGUI::modelAdapter::AdapterBikeGeometry

and the future model

bikeFacade ... referenced by myGUI::modelAdapter::AdapterBikeFacade

In this case I implement a feature in the GUI to export the content of the project dictionary (projectDICT). This will help me to compare a future Refactoring-Version of rattleCAD with this one. This feature will be removed from rattleCAD when the refactoring process is closed.

This representation of the project dictionary can be found:

Menu Bar: Info -> Info - Project

Extend the interface dictionary

The rattleCAD GUI requires information about the size of the bicycle frame to be displayed. Therefore a new key is introduced in the dictionary.

BoundingBox    Summary 
...

Found a central procedure for the model-namespaces

There was a procedure

myGUI::modelAdapter::coords_xy_index

called by sub-namespaces of

myGUI::model::model_X...

Therefore this procedure was moved to

myGUI::model::coords_xy_index

and all references to the previous procedure are referenced to the new on now.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s