diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
commit | 8362bf63dea22bbf6736609b0f49c152f975eb63 (patch) | |
tree | 0eea3928e39e50fae91d4e68b21b1e6cbae25604 /kugar/kudesigner_lib/command.cpp | |
download | koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.tar.gz koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.zip |
Added old abandoned KDE3 version of koffice
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1077364 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kugar/kudesigner_lib/command.cpp')
-rw-r--r-- | kugar/kudesigner_lib/command.cpp | 301 |
1 files changed, 301 insertions, 0 deletions
diff --git a/kugar/kudesigner_lib/command.cpp b/kugar/kudesigner_lib/command.cpp new file mode 100644 index 00000000..1644868a --- /dev/null +++ b/kugar/kudesigner_lib/command.cpp @@ -0,0 +1,301 @@ +/* This file is part of the KDE project + Copyright (C) 2002-2004 Alexander Dymo <adymo@mksat.net> + + 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 "command.h" + +#include <klocale.h> +#include <kdebug.h> + +//#include "kudesigner_doc.h" + +#include <koproperty/editor.h> +#include <koproperty/property.h> + +#include "view.h" +#include "canvas.h" + +#include "field.h" +#include "calcfield.h" +#include "label.h" +#include "line.h" +#include "specialfield.h" + +#include "kugartemplate.h" +#include "reportheader.h" +#include "reportfooter.h" +#include "pageheader.h" +#include "pagefooter.h" +#include "detailheader.h" +#include "detailfooter.h" +#include "detail.h" + + +namespace Kudesigner +{ + +//AddDetailFooterCommand + +AddDetailFooterCommand::AddDetailFooterCommand( int level, Canvas *doc ) + : KNamedCommand( QObject::tr( "Insert Detail Footer Section" ) ), m_level( level ), m_doc( doc ) +{} + +void AddDetailFooterCommand::execute() +{ + m_section = new DetailFooter( m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 0, m_doc->kugarTemplate() ->width() - m_doc->kugarTemplate() ->props[ "RightMargin" ].value().toInt() - + m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 50, m_level, m_doc ); + m_section->props[ "Level" ].setValue( m_level ); + m_doc->kugarTemplate() ->details[ m_level ].first.second = m_section; + m_doc->kugarTemplate() ->arrangeSections(); + m_doc->setStructureModified(); +} + +void AddDetailFooterCommand::unexecute() +{ + m_doc->kugarTemplate() ->removeReportItem( m_section ); + m_doc->setStructureModified(); +} + +//AddDetailCommand + +AddDetailCommand::AddDetailCommand( int level, Canvas *doc ) + : KNamedCommand( QObject::tr( "Insert Detail Section" ) ), m_level( level ), m_doc( doc ) +{} + +void AddDetailCommand::execute() +{ + m_section = new Detail( m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 0, m_doc->kugarTemplate() ->width() - m_doc->kugarTemplate() ->props[ "RightMargin" ].value().toInt() - + m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 50, m_level, m_doc ); + m_section->props[ "Level" ].setValue( m_level ); + m_doc->kugarTemplate() ->details[ m_level ].second = m_section; + m_doc->kugarTemplate() ->arrangeSections(); + m_doc->kugarTemplate() ->detailsCount++; + m_doc->setStructureModified(); +} + +void AddDetailCommand::unexecute() +{ + m_doc->kugarTemplate() ->removeReportItem( m_section ); + m_doc->setStructureModified(); +} + +//AddDetailHeaderCommand +AddDetailHeaderCommand::AddDetailHeaderCommand( int level, Canvas *doc ) + : KNamedCommand( QObject::tr( "Insert Detail Header Section" ) ), m_level( level ), m_doc( doc ) +{} + +void AddDetailHeaderCommand::execute() +{ + m_section = new DetailHeader( m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 0, m_doc->kugarTemplate() ->width() - m_doc->kugarTemplate() ->props[ "RightMargin" ].value().toInt() - + m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 50, m_level, m_doc ); + m_section->props[ "Level" ].setValue( m_level ); + m_doc->kugarTemplate() ->details[ m_level ].first.first = m_section; + m_doc->kugarTemplate() ->arrangeSections(); + m_doc->setStructureModified(); +} + +void AddDetailHeaderCommand::unexecute() +{ + m_doc->kugarTemplate() ->removeReportItem( m_section ); + m_doc->setStructureModified(); +} + +//AddPageFooterCommand + +AddPageFooterCommand::AddPageFooterCommand( Canvas *doc ) + : KNamedCommand( QObject::tr( "Insert Page Footer Section" ) ), m_doc( doc ) +{} + +void AddPageFooterCommand::execute() +{ + m_section = new PageFooter( m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 0, m_doc->kugarTemplate() ->width() - m_doc->kugarTemplate() ->props[ "RightMargin" ].value().toInt() - + m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 50, m_doc ); + m_doc->kugarTemplate() ->pageFooter = m_section; + m_doc->kugarTemplate() ->arrangeSections(); + m_doc->setStructureModified(); +} + +void AddPageFooterCommand::unexecute() +{ + m_doc->kugarTemplate() ->removeReportItem( m_section ); + m_doc->setStructureModified(); +} + +//AddPageHeaderCommand + +AddPageHeaderCommand::AddPageHeaderCommand( Canvas *doc ) + : KNamedCommand( QObject::tr( "Insert Page Header Section" ) ), m_doc( doc ) +{} + +void AddPageHeaderCommand::execute() +{ + m_section = new PageHeader( m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 0, m_doc->kugarTemplate() ->width() - m_doc->kugarTemplate() ->props[ "RightMargin" ].value().toInt() - + m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 50, m_doc ); + m_doc->kugarTemplate() ->pageHeader = m_section; + m_doc->kugarTemplate() ->arrangeSections(); + m_doc->setStructureModified(); +} + +void AddPageHeaderCommand::unexecute() +{ + m_doc->kugarTemplate() ->removeReportItem( m_section ); + m_doc->setStructureModified(); +} + +//AddReportFooterCommand + +AddReportFooterCommand::AddReportFooterCommand( Canvas *doc ) + : KNamedCommand( QObject::tr( "Insert Report Footer Section" ) ), m_doc( doc ) +{} + +void AddReportFooterCommand::execute() +{ + m_section = new ReportFooter( m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 0, m_doc->kugarTemplate() ->width() - m_doc->kugarTemplate() ->props[ "RightMargin" ].value().toInt() - + m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 50, m_doc ); + m_doc->kugarTemplate() ->reportFooter = m_section; + m_doc->kugarTemplate() ->arrangeSections(); + m_doc->setStructureModified(); +} + +void AddReportFooterCommand::unexecute() +{ + m_doc->kugarTemplate() ->removeReportItem( m_section ); + m_doc->setStructureModified(); +} + +//AddReportHeaderCommand + +AddReportHeaderCommand::AddReportHeaderCommand( Canvas *doc ) + : KNamedCommand( QObject::tr( "Insert Report Header Section" ) ), m_doc( doc ) +{} + +void AddReportHeaderCommand::execute() +{ + m_section = new ReportHeader( m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 0, m_doc->kugarTemplate() ->width() - m_doc->kugarTemplate() ->props[ "RightMargin" ].value().toInt() - + m_doc->kugarTemplate() ->props[ "LeftMargin" ].value().toInt(), + 50, m_doc ); + m_doc->kugarTemplate() ->reportHeader = m_section; + m_doc->kugarTemplate() ->arrangeSections(); + m_doc->setStructureModified(); +} + +void AddReportHeaderCommand::unexecute() +{ + m_doc->kugarTemplate() ->removeReportItem( m_section ); + m_doc->setStructureModified(); +} + +//AddReportItemCommand + +AddReportItemCommand::AddReportItemCommand( Canvas *doc, View *rc, int x, int y, RttiValues section, int sectionLevel ) : + KNamedCommand( QObject::tr( "Insert Report Item" ) ), m_doc( doc ), m_rc( rc ), m_x( x ), m_y( y ), m_section( section ), m_sectionLevel( sectionLevel ) +{ + m_rtti = m_rc->itemToInsert; + setName( "Insert " + Kudesigner::rttiName( m_rc->itemToInsert ) ); +} + +void AddReportItemCommand::execute() +{ + // kdDebug() << "Execute: rtti = " << m_rtti << endl; + switch ( m_rtti ) + { + case Rtti_Label: + m_item = new Label( 0, 0, DefaultItemWidth, DefaultItemHeight, m_doc ); + break; + case Rtti_Field: + m_item = new Field( 0, 0, DefaultItemWidth, DefaultItemHeight, m_doc ); + break; + case Rtti_Special: + m_item = new SpecialField( 0, 0, DefaultItemWidth, DefaultItemHeight, m_doc ); + break; + case Rtti_Calculated: + m_item = new CalculatedField( 0, 0, DefaultItemWidth, DefaultItemHeight, m_doc ); + break; + case Rtti_Line: + m_item = new Line( 0, 0, DefaultItemWidth, DefaultItemHeight, m_doc ); + break; + default: + m_item = 0; + return ; + } + + m_item->setX( m_x ); + m_item->setY( m_y ); + // kdDebug() << "Execute: item created" << endl; + m_item->setSection( m_doc->kugarTemplate() ->band( m_section, m_sectionLevel ) ); + m_item->updateGeomProps(); + + m_doc->selectItem( m_item, false ); + + m_item->show(); + m_doc->kugarTemplate() ->band( m_section, m_sectionLevel ) ->items.append( m_item ); + m_doc->setStructureModified(); +} + +void AddReportItemCommand::unexecute() +{ + if ( m_item ) + { + m_doc->unselectItem( m_item ); + m_doc->kugarTemplate() ->removeReportItem( m_item ); + m_doc->setStructureModified(); + } +} + +DeleteReportItemsCommand::DeleteReportItemsCommand( Canvas * doc, QValueList< Box* > & items ) + : KNamedCommand( QObject::tr( "Delete Report Item(s)" ) ), m_doc( doc ), m_items( items ) +{} + +void DeleteReportItemsCommand::execute( ) +{ + m_doc->unselectAll(); + + for ( QValueList< Box* >::iterator it = m_items.begin(); it != m_items.end(); ++it ) + { + Box *b = *it; + m_doc->kugarTemplate() ->removeReportItem( b ); + } + + m_doc->setStructureModified(); +} + +void DeleteReportItemsCommand::unexecute( ) +{ + /* Box *b; + for (b = m_items.first(); b; b = m_items.next()) + { + b->show();*/ + // m_doc->kugarTemplate()->removeReportItem( b ); + // } + + m_doc->setStructureModified(); +} + +} |