1 // SALOME SALOMEGUI : implementation of desktop and GUI kernel
3 // Copyright (C) 2003 CEA/DEN, EDF R&D
7 // File : SALOMEGUI_NameDlg.cxx
8 // Author : Vadim SANDLER
12 #include "SALOMEGUI_NameDlg.h"
13 #include "QAD_Application.h"
14 #include "QAD_Desktop.h"
15 #include "QAD_Tools.h"
17 #include <qgroupbox.h>
19 #include <qlineedit.h>
20 #include <qpushbutton.h>
27 SALOMEGUI_NameDlg::SALOMEGUI_NameDlg( QWidget* parent )
28 : QDialog( parent ? parent : QAD_Application::getDesktop(),
31 WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu )
33 setCaption( tr("TLT_RENAME") );
34 setSizeGripEnabled( TRUE );
36 QVBoxLayout* topLayout = new QVBoxLayout( this );
37 topLayout->setMargin( 11 ); topLayout->setSpacing( 6 );
39 /***************************************************************/
40 QGroupBox* GroupC1 = new QGroupBox( this, "GroupC1" );
41 GroupC1->setColumnLayout(0, Qt::Vertical );
42 GroupC1->layout()->setMargin( 0 ); GroupC1->layout()->setSpacing( 0 );
43 QHBoxLayout* GroupC1Layout = new QHBoxLayout( GroupC1->layout() );
44 GroupC1Layout->setAlignment( Qt::AlignTop );
45 GroupC1Layout->setMargin( 11 ); GroupC1Layout->setSpacing( 6 );
47 QLabel* TextLabel = new QLabel( GroupC1, "TextLabel1" );
48 TextLabel->setText( tr( "NAME_LBL" ) );
49 GroupC1Layout->addWidget( TextLabel );
51 myLineEdit = new QLineEdit( GroupC1, "LineEdit1" );
52 myLineEdit->setMinimumSize( 250, 0 );
53 GroupC1Layout->addWidget( myLineEdit );
55 /***************************************************************/
56 QGroupBox* GroupButtons = new QGroupBox( this, "GroupButtons" );
57 GroupButtons->setColumnLayout(0, Qt::Vertical );
58 GroupButtons->layout()->setMargin( 0 ); GroupButtons->layout()->setSpacing( 0 );
59 QHBoxLayout* GroupButtonsLayout = new QHBoxLayout( GroupButtons->layout() );
60 GroupButtonsLayout->setAlignment( Qt::AlignTop );
61 GroupButtonsLayout->setMargin( 11 ); GroupButtonsLayout->setSpacing( 6 );
63 myButtonOk = new QPushButton( GroupButtons, "buttonOk" );
64 myButtonOk->setText( tr( "BUT_OK" ) );
65 myButtonOk->setAutoDefault( TRUE ); myButtonOk->setDefault( TRUE );
66 GroupButtonsLayout->addWidget( myButtonOk );
68 GroupButtonsLayout->addStretch();
70 myButtonCancel = new QPushButton( GroupButtons, "buttonCancel" );
71 myButtonCancel->setText( tr( "BUT_CANCEL" ) );
72 myButtonCancel->setAutoDefault( TRUE );
73 GroupButtonsLayout->addWidget( myButtonCancel );
74 /***************************************************************/
76 topLayout->addWidget( GroupC1 );
77 topLayout->addWidget( GroupButtons );
79 // signals and slots connections
80 connect( myButtonOk, SIGNAL( clicked() ), this, SLOT( accept() ) );
81 connect( myButtonCancel, SIGNAL( clicked() ), this, SLOT( reject() ) );
83 /* Move widget on the botton right corner of main widget */
84 QAD_Tools::centerWidget( this, parent );
90 SALOMEGUI_NameDlg::~SALOMEGUI_NameDlg()
97 void SALOMEGUI_NameDlg::setName( const QString& name )
99 myLineEdit->setText( name );
100 myLineEdit->end(false);
101 myLineEdit->home(true);
105 Returns name entered by user
107 QString SALOMEGUI_NameDlg::name()
109 return myLineEdit->text();
112 void SALOMEGUI_NameDlg::accept()
114 if ( name().stripWhiteSpace().isEmpty() )
120 Creates modal <Rename> dialog and returns name entered [ static ]
122 QString SALOMEGUI_NameDlg::getName( QWidget* parent, const QString& oldName )
125 SALOMEGUI_NameDlg* dlg = new SALOMEGUI_NameDlg( parent );
126 if ( !oldName.isNull() )
127 dlg->setName( oldName );
128 if ( dlg->exec() == QDialog::Accepted )