#include "VisuGUI_EditContainerDlg.h"
+
#include "VisuGUI.h"
+#include "VisuGUI_Tools.h"
+
#include "VISU_Table_i.hh"
#include "SalomeApp_Application.h"
#include <qpushbutton.h>
#include <qlabel.h>
-#include CORBA_SERVER_HEADER(VISU_Gen)
-#include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
-
-//extern VisuGUI *visuGUI;
-
using namespace std;
static QPixmap MYRightPix(right_xpm);
-VisuGUI_EditContainerDlg::VisuGUI_EditContainerDlg (QWidget* parent, bool theIsModal)
- : QDialog(parent, "VisuGUI_EditContainerDlg", theIsModal, WStyle_Customize |
- WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
+VisuGUI_EditContainerDlg::VisuGUI_EditContainerDlg (VisuGUI* theModule, bool theIsModal)
+ : QDialog(VISU::GetDesktop(theModule), "VisuGUI_EditContainerDlg", theIsModal,
+ WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu),
+ myVisuGUI(theModule)
{
if (!theIsModal) {
setWFlags(getWFlags() | WDestructiveClose);
aControlLay->addColSpacing(0, 180);
aControlLay->addColSpacing(2, 180);
- QLabel* aSelectLbl = new QLabel (tr("Study"), aControlFrame);
+ QLabel* aSelectLbl = new QLabel (tr("LBL_STUDY"), aControlFrame);
aControlLay->addWidget(aSelectLbl, 0, 0);
myStudyLst = new QListView (aControlFrame);
myStudyLst->setSelectionMode(QListView::Extended);
- myStudyLst->addColumn(tr("Table"), 80);
- myStudyLst->addColumn(tr("Curve"), 50);
+ myStudyLst->addColumn(tr("TXT_TABLE"), 80);
+ myStudyLst->addColumn(tr("TXT_CURVE"), 50);
myStudyLst->addColumn(tr(""), 0);
myStudyLst->setAllColumnsShowFocus(true);
myStudyLst->setMinimumHeight(130);
connect(myLeftBtn, SIGNAL(clicked()), this, SLOT(onLeftClicked()));
aControlLay->addWidget(myLeftBtn, 3, 1);
- QLabel* aForceLbl = new QLabel(tr("Container"), aControlFrame);
+ QLabel* aForceLbl = new QLabel (tr("LBL_CONTAINER"), aControlFrame);
aControlLay->addWidget(aForceLbl, 0, 2);
myContainerLst = new QListView(aControlFrame);
myContainerLst->setSelectionMode(QListView::Extended);
- myContainerLst->addColumn(tr("Table"), 80);
- myContainerLst->addColumn(tr("Curve"), 50);
+ myContainerLst->addColumn(tr("TXT_TABLE"), 80);
+ myContainerLst->addColumn(tr("TXT_CURVE"), 50);
myContainerLst->addColumn(tr(""), 0);
myContainerLst->setMinimumWidth(130);
connect(myContainerLst, SIGNAL(selectionChanged()), this, SLOT(onRightSelected()));
buttonOk->setAutoDefault(TRUE);
buttonOk->setDefault(TRUE);
GroupButtonsLayout->addWidget(buttonOk, 0, 0);
- GroupButtonsLayout->addItem(new QSpacerItem(5, 5, QSizePolicy::Expanding, QSizePolicy::Minimum), 0, 1);
+ GroupButtonsLayout->addItem(new QSpacerItem(5, 5, QSizePolicy::Expanding,
+ QSizePolicy::Minimum), 0, 1);
QPushButton* buttonCancel = new QPushButton(tr("&Cancel") , GroupButtons, "buttonCancel");
buttonCancel->setAutoDefault(TRUE);
void VisuGUI_EditContainerDlg::initFromPrsObject (VISU::Container_i* theContainer)
{
- SALOMEDS::Study_var aStudy = theContainer->GetStudyDocument();
- SALOMEDS::SComponent_var aVisuSO = aStudy->FindComponent("VISU");
- if (CORBA::is_nil(aVisuSO)) {
- return;
- }
- QValueList<CurveStruct> aStudyCurves;
- QValueList<CurveStruct> aContainerCurves;
- // Find curves in container
- for (int i = 1; i <= theContainer->GetNbCurves(); i++) {
- VISU::Curve_i* aCurve = theContainer->GetCurve(i);
- if (aCurve == NULL) continue;
- CurveStruct aEntry;
- aEntry.CurveName = aCurve->GetTitle();
- aEntry.CurveEntry = aCurve->GetEntry();
- SALOMEDS::SObject_var aTableSO = aStudy->FindObjectID(aCurve->GetTableID());
- if (CORBA::is_nil(aTableSO)) continue;
- aEntry.TableName = getSObjectName(aTableSO);
- aContainerCurves.append(aEntry);
- new QListViewItem(myContainerLst, aEntry.TableName, aEntry.CurveName, aEntry.CurveEntry);
- }
- // Find curves in study
- SALOMEDS::ChildIterator_var aIter = aStudy->NewChildIterator(aVisuSO);
- for (aIter->InitEx(true); aIter->More(); aIter->Next()) {
- SALOMEDS::SObject_var aSObject = aIter->Value();
- CORBA::Object_var anObject = VISU::SObjectToObject(aSObject);
- VISU::Base_var aVisuObj = VISU::Base::_narrow(anObject);
- if (!CORBA::is_nil(aVisuObj)) {
- if (aVisuObj->GetType() == VISU::TCURVE) {
- SALOMEDS::SObject_var aTableSO = aSObject->GetFather();
- CurveStruct aEntry;
- aEntry.TableName = getSObjectName(aTableSO);
- aEntry.CurveName = getSObjectName(aSObject);
- aEntry.CurveEntry = aSObject->GetID();
- aStudyCurves.append(aEntry);
- }
- }
- }
- //Show Curves which are not in Curve
- QValueList<CurveStruct>::iterator it;
- QValueList<CurveStruct>::iterator it2;
- bool isExist = false;
- for (it = aStudyCurves.begin(); it != aStudyCurves.end(); ++it) {
- for (it2 = aContainerCurves.begin(); it2 != aContainerCurves.end(); ++it2) {
- if (isExist = ((*it).CurveEntry == (*it2).CurveEntry))
- break;
- }
- if (!isExist)
- new QListViewItem(myStudyLst, (*it).TableName, (*it).CurveName, (*it).CurveEntry);
- }
-}
-
-/*void VisuGUI_EditContainerDlg::initFromPrsObject (VISU::Container_i* theContainer)
-{
- _PTR(Study) aStudy = theContainer->GetStudyDocument();
+ _PTR(Study) aStudy = VISU::GetCStudy(VISU::GetAppStudy(myVisuGUI));
_PTR(SComponent) aVisuSO = aStudy->FindComponent("VISU");
if (!aVisuSO) {
return;
CurveStruct aEntry;
aEntry.TableName = getSObjectName(aTableSO);
aEntry.CurveName = getSObjectName(aSObject);
- aEntry.CurveEntry = aSObject->GetID();
+ aEntry.CurveEntry = aSObject->GetID().c_str();
aStudyCurves.append(aEntry);
}
}
if (!isExist)
new QListViewItem(myStudyLst, (*it).TableName, (*it).CurveName, (*it).CurveEntry);
}
-}*/
-
-void VisuGUI_EditContainerDlg::storeToPrsObject (VISU::Container_i* theContainer)
-{
- theContainer->Clear();
-
- SALOMEDS::Study_var aStudy = theContainer->GetStudyDocument();
- QListViewItem* anItem = myContainerLst->firstChild();
- while (anItem) {
- SALOMEDS::SObject_var aCurveSO = aStudy->FindObjectID(anItem->text(2));
- if (!CORBA::is_nil(aCurveSO)) {
- CORBA::Object_var aObject = VISU::SObjectToObject(aCurveSO);
- if (!CORBA::is_nil(aObject)) {
- VISU::Curve_i* aCurve = dynamic_cast<VISU::Curve_i*>(VISU::GetServant(aObject).in());
- if (aCurve) theContainer->AddCurve(aCurve->_this());
- }
- }
- anItem = anItem->nextSibling();
- }
}
-/*void VisuGUI_EditContainerDlg::storeToPrsObject (VISU::Container_i* theContainer)
+void VisuGUI_EditContainerDlg::storeToPrsObject (VISU::Container_i* theContainer)
{
theContainer->Clear();
- _PTR(Study) aStudy = theContainer->GetStudyDocument();
+ _PTR(Study) aStudy = VISU::GetCStudy(VISU::GetAppStudy(myVisuGUI));
QListViewItem* anItem = myContainerLst->firstChild();
while (anItem) {
- _PTR(SObject) aCurveSO = aStudy->FindObjectID(anItem->text(2));
+ _PTR(SObject) aCurveSO = aStudy->FindObjectID(anItem->text(2).latin1());
if (aCurveSO) {
CORBA::Object_var aObject = VISU::ClientSObjectToObject(aCurveSO);
if (!CORBA::is_nil(aObject)) {
}
anItem = anItem->nextSibling();
}
-}*/
-
-QString VisuGUI_EditContainerDlg::getSObjectName (SALOMEDS::SObject_ptr theSObject)
-{
- if (CORBA::is_nil(theSObject)) return QString("");
-
- SALOMEDS::GenericAttribute_var anAttr;
- SALOMEDS::AttributeName_var aName;
- if (theSObject->FindAttribute(anAttr, "AttributeName")) {
- aName = SALOMEDS::AttributeName::_narrow(anAttr);
- return QString(aName->Value());
- }
- return QString("");
}
-/*QString VisuGUI_EditContainerDlg::getSObjectName (_PTR(SObject) theSObject)
+QString VisuGUI_EditContainerDlg::getSObjectName (_PTR(SObject) theSObject)
{
if (!theSObject) return QString("");
_PTR(GenericAttribute) anAttr;
if (theSObject->FindAttribute(anAttr, "AttributeName")) {
_PTR(AttributeName) aName (anAttr);
- return QString(aName->Value());
+ return QString(aName->Value().c_str());
}
return QString("");
-}*/
+}
void VisuGUI_EditContainerDlg::onLeftClicked()
{