Added support for new DFN document creation.

This commit is contained in:
dfighter1985 2014-09-03 19:37:49 +02:00
parent d139bc9f8d
commit 256d72fe62
3 changed files with 47 additions and 16 deletions

View file

@ -77,22 +77,8 @@ bool GeorgesDFNDialog::load( const QString &fileName )
NLGEORGES::CFormDfn *cdfn = static_cast< NLGEORGES::CFormDfn* >( udfn );
m_pvt->dfn = cdfn;
m_pvt->ctrl->setDFN( cdfn );
uint c = m_pvt->dfn->getNumEntry();
for( uint i = 0; i < c; i++ )
{
NLGEORGES::CFormDfn::CEntry &entry = m_pvt->dfn->getEntry( i );
m_ui.list->addItem( entry.getName().c_str() );
}
if( c > 0 )
{
m_ui.list->setCurrentRow( 0 );
}
m_ui.commentsEdit->setPlainText( cdfn->getComment().c_str() );
m_ui.logEdit->setPlainText( cdfn->Header.Log.c_str() );
loadDfn();
m_fileName = fileName;
@ -119,6 +105,18 @@ void GeorgesDFNDialog::write()
file.close();
}
void GeorgesDFNDialog::newDocument( const QString &fileName )
{
m_fileName = fileName;
QFileInfo info( fileName );
setWindowTitle( info.fileName() + "*" );
setModified( true );
m_pvt->dfn = new NLGEORGES::CFormDfn();
loadDfn();
}
void GeorgesDFNDialog::onAddClicked()
{
QString name = QInputDialog::getText( this,
@ -178,6 +176,26 @@ void GeorgesDFNDialog::onValueChanged( const QString &key, const QString &value
}
}
void GeorgesDFNDialog::loadDfn()
{
m_pvt->ctrl->setDFN( m_pvt->dfn );
uint c = m_pvt->dfn->getNumEntry();
for( uint i = 0; i < c; i++ )
{
NLGEORGES::CFormDfn::CEntry &entry = m_pvt->dfn->getEntry( i );
m_ui.list->addItem( entry.getName().c_str() );
}
if( c > 0 )
{
m_ui.list->setCurrentRow( 0 );
}
m_ui.commentsEdit->setPlainText( m_pvt->dfn->getComment().c_str() );
m_ui.logEdit->setPlainText( m_pvt->dfn->Header.Log.c_str() );
}
void GeorgesDFNDialog::onModified()
{
if( !isModified() )

View file

@ -33,6 +33,7 @@ public:
bool load( const QString &fileName );
void write();
void newDocument( const QString &fileName );
Q_SIGNALS:
void modified();
@ -45,6 +46,7 @@ private Q_SLOTS:
void onValueChanged( const QString& key, const QString &value );
private:
void loadDfn();
void onModified();
void log( const QString &msg );
void setupConnections();

View file

@ -158,6 +158,17 @@ namespace GeorgesQt
void GeorgesEditorForm::newDfn()
{
QString fileName = QFileDialog::getSaveFileName( this,
tr( "New Definition" ),
"",
"Definition files (*.dfn)" );
if( fileName.isEmpty() )
return;
GeorgesDFNDialog *d = new GeorgesDFNDialog();
d->newDocument( fileName );
addGeorgesWidget( d );
setModified();
}
void GeorgesEditorForm::newForm()