From 3c2ef28e7243dc21a092fae8af94debf18e823be Mon Sep 17 00:00:00 2001 From: vsr Date: Mon, 23 Nov 2020 12:08:34 +0300 Subject: [PATCH] InfoPanel --- resources/SalomeApp.xml.in | 4 +-- src/GEOMGUI/GEOM_msg_en.ts | 68 +++++++++++++++++++++++++++++++++++++ src/GEOMGUI/GEOM_msg_fr.ts | 68 +++++++++++++++++++++++++++++++++++++ src/GEOMGUI/GEOM_msg_ja.ts | 68 +++++++++++++++++++++++++++++++++++++ src/GEOMGUI/GeometryGUI.cxx | 55 +++++++++++++++++++++--------- 5 files changed, 245 insertions(+), 18 deletions(-) diff --git a/resources/SalomeApp.xml.in b/resources/SalomeApp.xml.in index 93d6e7614..a02d96e27 100644 --- a/resources/SalomeApp.xml.in +++ b/resources/SalomeApp.xml.in @@ -105,9 +105,9 @@
- +
- +
diff --git a/src/GEOMGUI/GEOM_msg_en.ts b/src/GEOMGUI/GEOM_msg_en.ts index e1010522b..7826f6e22 100644 --- a/src/GEOMGUI/GEOM_msg_en.ts +++ b/src/GEOMGUI/GEOM_msg_en.ts @@ -5631,6 +5631,74 @@ shells and solids on the other hand. TOOL_IMPORTEXPORT Import / Export XAO + + INFO_WELCOME_TO_GEOM + Welcome to Geometry + + + INFO_GRP_CREATE_MODEL + Create model + + + INFO_VERTICES + vertices + + + INFO_EDGES + edges + + + INFO_WIRES + wires + + + INFO_FACES + faces + + + INFO_SHELLS + shells + + + INFO_SOLIDS + solids + + + INFO_BOTTOM_UP_CONSTRUCTION + Bottom-up construction + + + INFO_BOX + box + + + INFO_CYLINDER + cylinder + + + INFO_CONE + cone + + + INFO_PRIMITIVES + Primitives construction + + + INFO_BOOLEANS + Boolean operations + + + INFO_TRANSFORMATIONS + Transformations + + + INFO_GRP_IMPORT_MODEL + Import and repair model + + + INFO_AVAILABLE_FORMATS + Available formats + BasicGUI_CurveDlg diff --git a/src/GEOMGUI/GEOM_msg_fr.ts b/src/GEOMGUI/GEOM_msg_fr.ts index e00560044..4b76a9776 100644 --- a/src/GEOMGUI/GEOM_msg_fr.ts +++ b/src/GEOMGUI/GEOM_msg_fr.ts @@ -5615,6 +5615,74 @@ le paramètre '%1' aux préférences du module Géométrie.TOOL_IMPORTEXPORT Import / Export XAO + + INFO_WELCOME_TO_GEOM + Welcome to Geometry + + + INFO_GRP_CREATE_MODEL + Create model + + + INFO_VERTICES + vertices + + + INFO_EDGES + edges + + + INFO_WIRES + wires + + + INFO_FACES + faces + + + INFO_SHELLS + shells + + + INFO_SOLIDS + solids + + + INFO_BOTTOM_UP_CONSTRUCTION + Bottom-up construction + + + INFO_BOX + box + + + INFO_CYLINDER + cylinder + + + INFO_CONE + cone + + + INFO_PRIMITIVES + Primitives construction + + + INFO_BOOLEANS + Boolean operations + + + INFO_TRANSFORMATIONS + Transformations + + + INFO_GRP_IMPORT_MODEL + Import and repair model + + + INFO_AVAILABLE_FORMATS + Available formats + BasicGUI_CurveDlg diff --git a/src/GEOMGUI/GEOM_msg_ja.ts b/src/GEOMGUI/GEOM_msg_ja.ts index d63d7c2fd..157ae5364 100644 --- a/src/GEOMGUI/GEOM_msg_ja.ts +++ b/src/GEOMGUI/GEOM_msg_ja.ts @@ -5622,6 +5622,74 @@ TOOL_IMPORTEXPORT インポート / エクスポート XAO + + INFO_WELCOME_TO_GEOM + Welcome to Geometry + + + INFO_GRP_CREATE_MODEL + Create model + + + INFO_VERTICES + vertices + + + INFO_EDGES + edges + + + INFO_WIRES + wires + + + INFO_FACES + faces + + + INFO_SHELLS + shells + + + INFO_SOLIDS + solids + + + INFO_BOTTOM_UP_CONSTRUCTION + Bottom-up construction + + + INFO_BOX + box + + + INFO_CYLINDER + cylinder + + + INFO_CONE + cone + + + INFO_PRIMITIVES + Primitives construction + + + INFO_BOOLEANS + Boolean operations + + + INFO_TRANSFORMATIONS + Transformations + + + INFO_GRP_IMPORT_MODEL + Import and repair model + + + INFO_AVAILABLE_FORMATS + Available formats + BasicGUI_CurveDlg diff --git a/src/GEOMGUI/GeometryGUI.cxx b/src/GEOMGUI/GeometryGUI.cxx index fba226eaa..f2d36230a 100644 --- a/src/GEOMGUI/GeometryGUI.cxx +++ b/src/GEOMGUI/GeometryGUI.cxx @@ -91,7 +91,6 @@ #include #include - #include // External includes @@ -1854,21 +1853,45 @@ namespace //======================================================================= bool GeometryGUI::activateModule( SUIT_Study* study ) { - //InfoPanel + // Fill in: Help Panel SalomeApp_Application* app = dynamic_cast( application() ); - app->infoPanel()->setTitle(tr("Welcome to GEOM")); + app->infoPanel()->setTitle(tr("INFO_WELCOME_TO_GEOM")); - int gb1 = app->infoPanel()->addGroup(tr( "Create a shape")); - QString lbl1 = wrap("vertices", "li") + wrap("edges", "li") + wrap("wires", "li") + wrap("faces", "li") + wrap("shells", "li") + wrap("solids", "li"); - QString lbl2 = wrap("box, cylinder...", "li") + wrap("boolean operations","li"); - lbl1 = tr("Bottom-up construction:") + wrap(lbl1, "ul") + tr("Primitives construction:") + wrap(lbl2, "ul"); - app->infoPanel()->addLabel(lbl1, Qt::AlignLeft, gb1); + int gb = app->infoPanel()->addGroup(tr("INFO_GRP_CREATE_MODEL")); + QString lab; + QStringList items; + items << wrap(tr("INFO_VERTICES"), "li") + << wrap(tr("INFO_EDGES"), "li") + << wrap(tr("INFO_WIRES"), "li") + << wrap(tr("INFO_FACES"), "li") + << wrap(tr("INFO_SHELLS"), "li") + << wrap(tr("INFO_SOLIDS"), "li"); + lab = tr("INFO_BOTTOM_UP_CONSTRUCTION") + ":" + wrap(items.join(""), "ul"); + items.clear(); - int gb2 = app->infoPanel()->addGroup(tr("Import a shape")); - lbl1 = wrap("brep", "li") + wrap("step", "li") + wrap("iges", "li") + wrap("stl", "li") + wrap("xao", "li"); - lbl1 = tr("Available formats:") + wrap(lbl1, "ul"); - app->infoPanel()->addLabel(lbl1, Qt::AlignLeft, gb2); - //end InfoPanel + items << wrap(tr("INFO_BOX"), "li") + << wrap(tr("INFO_CYLINDER"), "li") + << wrap(tr("INFO_CONE"), "li") + << wrap("...", "li"); + lab = lab + tr("INFO_PRIMITIVES") + ":" + wrap(items.join(""), "ul"); + items.clear(); + + lab = lab + tr("INFO_BOOLEANS") + "
"; + lab = lab + tr("INFO_TRANSFORMATIONS"); + + app->infoPanel()->addLabel(lab, gb); + + gb = app->infoPanel()->addGroup(tr("INFO_GRP_IMPORT_MODEL")); + items << wrap("BREP", "li") + << wrap("STEP", "li") + << wrap("IGES", "li") + << wrap("STL", "li") + << wrap("XAO", "li"); + lab = tr("INFO_AVAILABLE_FORMATS") + ":" + wrap(items.join(""), "ul"); + items.clear(); + + app->infoPanel()->addLabel(lab, gb); + // << Help Panel if ( CORBA::is_nil( myComponentGeom ) ) return false; @@ -1879,7 +1902,7 @@ bool GeometryGUI::activateModule( SUIT_Study* study ) return false; setMenuShown( true ); setToolShown( true ); - + // import Python module that manages GEOM plugins (need to be here because SalomePyQt API uses active module) PyGILState_STATE gstate = PyGILState_Ensure(); PyObject* pluginsmanager = PyImport_ImportModuleNoBlock((char*)"salome_pluginsmanager"); @@ -1966,7 +1989,7 @@ bool GeometryGUI::activateModule( SUIT_Study* study ) } Py_XDECREF(pluginsmanager); - + return true; } @@ -1982,7 +2005,7 @@ bool GeometryGUI::deactivateModule( SUIT_Study* study ) setMenuShown( false ); setToolShown( false ); - + disconnect( application()->desktop(), SIGNAL( windowActivated( SUIT_ViewWindow* ) ), this, SLOT( onWindowActivated( SUIT_ViewWindow* ) ) );