summaryrefslogtreecommitdiffstats
path: root/kspread/dialogs/kspread_dlg_area.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kspread/dialogs/kspread_dlg_area.cpp')
-rw-r--r--kspread/dialogs/kspread_dlg_area.cpp101
1 files changed, 101 insertions, 0 deletions
diff --git a/kspread/dialogs/kspread_dlg_area.cpp b/kspread/dialogs/kspread_dlg_area.cpp
new file mode 100644
index 000000000..108511ad0
--- /dev/null
+++ b/kspread/dialogs/kspread_dlg_area.cpp
@@ -0,0 +1,101 @@
+/* This file is part of the KDE project
+ Copyright (C) 2002-2003 Norbert Andres <nandres@web.de>
+ (C) 2002 Philipp Mueller <philipp.mueller@gmx.de>
+ (C) 2002 John Dailey <dailey@vt.edu>
+ (C) 1999-2001 Laurent Montel <montel@kde.org>
+ (C) 1998-1999 Torben Weis <weis@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+*/
+
+#include <tqlayout.h>
+#include <tqlabel.h>
+#include <tqlineedit.h>
+
+#include <tdemessagebox.h>
+
+#include "kspread_doc.h"
+#include "kspread_locale.h"
+#include "kspread_sheet.h"
+#include "kspread_view.h"
+#include "selection.h"
+
+#include "kspread_dlg_area.h"
+
+using namespace KSpread;
+
+AreaDialog::AreaDialog( View * parent, const char * name, const TQPoint & _marker )
+ : KDialogBase( parent, name, TRUE, i18n("Area Name"), Ok | Cancel )
+{
+ m_pView = parent;
+ m_marker = _marker;
+
+ TQWidget * page = new TQWidget( this );
+ setMainWidget(page);
+ TQVBoxLayout * lay1 = new TQVBoxLayout( page, 0, spacingHint() );
+
+ TQLabel * label = new TQLabel( i18n("Enter the area name:"), page );
+ lay1->addWidget( label );
+
+ m_areaName = new TQLineEdit(page);
+ m_areaName->setMinimumWidth( m_areaName->sizeHint().width() * 3 );
+
+ lay1->addWidget( m_areaName );
+ m_areaName->setFocus();
+ connect ( m_areaName, TQT_SIGNAL(textChanged ( const TQString & )), this, TQT_SLOT(slotAreaNamechanged( const TQString &)));
+ connect( this, TQT_SIGNAL( okClicked() ), this, TQT_SLOT( slotOk() ) );
+ enableButtonOK(!m_areaName->text().isEmpty());
+
+}
+
+void AreaDialog::slotAreaNamechanged( const TQString & text)
+{
+ enableButtonOK(!text.isEmpty());
+}
+
+void AreaDialog::slotOk()
+{
+ TQString tmp(m_areaName->text());
+ if( !tmp.isEmpty() )
+ {
+ tmp = tmp.lower();
+
+ TQRect rect( m_pView->selectionInfo()->selection() );
+ bool newName = true;
+ TQValueList<Reference>::Iterator it;
+ TQValueList<Reference> area = m_pView->doc()->listArea();
+ for ( it = area.begin(); it != area.end(); ++it )
+ {
+ if(tmp == (*it).ref_name)
+ newName = false;
+ }
+ if (newName)
+ {
+ m_pView->doc()->emitBeginOperation( false );
+ m_pView->doc()->addAreaName(rect, tmp, m_pView->activeSheet()->sheetName());
+ m_pView->slotUpdateView( m_pView->activeSheet() );
+ accept();
+ }
+ else
+ KMessageBox::error( this, i18n("This name is already used."));
+ }
+ else
+ {
+ KMessageBox::error( this, i18n("Area text is empty.") );
+ }
+}
+
+#include "kspread_dlg_area.moc"