summaryrefslogtreecommitdiffstats
path: root/kivio/kiviopart/kivio_view.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-20 01:29:50 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-20 01:29:50 +0000
commit8362bf63dea22bbf6736609b0f49c152f975eb63 (patch)
tree0eea3928e39e50fae91d4e68b21b1e6cbae25604 /kivio/kiviopart/kivio_view.h
downloadkoffice-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 'kivio/kiviopart/kivio_view.h')
-rw-r--r--kivio/kiviopart/kivio_view.h385
1 files changed, 385 insertions, 0 deletions
diff --git a/kivio/kiviopart/kivio_view.h b/kivio/kiviopart/kivio_view.h
new file mode 100644
index 00000000..a115363c
--- /dev/null
+++ b/kivio/kiviopart/kivio_view.h
@@ -0,0 +1,385 @@
+/*
+ * Kivio - Visual Modelling and Flowcharting
+ * Copyright (C) 2000-2001 theKompany.com & Dave Marotti
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+#ifndef __kivio_gui_h__
+#define __kivio_gui_h__
+
+class KivioView;
+class KivioCanvas;
+class KivioPage;
+class KivioDoc;
+class KivioPainter;
+class KivioPaperLayout;
+class KivioShell;
+class KivioStackBar;
+class KivioStencilSpawner;
+class KivioStencilSpawnerSet;
+class KivioTabBar;
+class TKSelectColorAction;
+class StencilBarDockManager;
+class KivioArrowHeadAction;
+
+namespace Kivio {
+ class ToolController;
+ class PluginManager;
+ class AddStencilSetDialog;
+ class AddStencilTool;
+ class ObjectListPalette;
+}
+
+class KivioBirdEyePanel;
+class KivioLayerPanel;
+class KivioProtectionPanel;
+class KivioStencilGeometryPanel;
+
+class KoDocumentEntry;
+class KoTabBar;
+
+class KAction;
+class KFontAction;
+class KFontSizeAction;
+class KToggleAction;
+
+class KSelectColorAction;
+class KActionMenu;
+
+class QStringList;
+class QPushButton;
+class QProgressBar;
+class QScrollBar;
+class DCOPObject;
+class KoRuler;
+class KoZoomHandler;
+class KoUnitDoubleSpinBox;
+class KStatusBarLabel;
+class KoLineWidthAction;
+class KoLineStyleAction;
+class KoPaletteManager;
+
+#include <qdom.h>
+#include <qptrlist.h>
+#include <qframe.h>
+
+#include <KoView.h>
+#include <KoDocument.h>
+#include <KoUnit.h>
+
+#include <koffice_export.h>
+using namespace Kivio;
+
+class KIVIO_EXPORT KivioView : public KoView
+{
+ Q_OBJECT
+ friend class KivioCanvas;
+
+ public:
+ KivioView( QWidget *_parent, const char *_name, KivioDoc *_doc );
+ ~KivioView();
+
+ virtual DCOPObject* dcopObject();
+
+ KivioCanvas* canvasWidget() const { return m_pCanvas; }
+ KivioDoc* doc()const { return m_pDoc; }
+
+ KivioPage* activePage() const;
+
+ void setActiveSpawnerSet( KivioStencilSpawnerSet* );
+ KivioStencilSpawnerSet *activeSpawnerSet();
+
+ KoTabBar* tabBar()const { return m_pTabBar;}
+ KoPaletteManager* paletteManager() { return m_pPaletteManager; };
+ void updateMenuPage( );
+
+ virtual void setupPrinter(KPrinter&);
+ virtual void print(KPrinter&);
+
+ virtual QWidget* canvas() const;
+ virtual int canvasXOffset() const;
+ virtual int canvasYOffset() const;
+
+ bool isSnapGuides()const { return m_bSnapGuides; }
+ bool isShowGuides()const { return m_bShowGuides; }
+ bool isShowRulers()const { return m_bShowRulers; }
+ bool isShowPageMargins()const { return m_bShowPageMargins; }
+
+ virtual int leftBorder() const;
+ virtual int rightBorder() const;
+ virtual int topBorder() const;
+ virtual int bottomBorder() const;
+
+
+ // Returns the current interface color/lineWidth settings
+ QColor fgColor()const;
+ QColor bgColor()const;
+ double lineWidth()const;
+ int lineStyle() const;
+ void updateButton();
+ void insertPage( KivioPage* page );
+ void resetLayerPanel();
+ void updateProtectPanelCheckBox();
+
+ KoZoomHandler* zoomHandler() const;
+
+ KoRuler* horzRuler() const { return hRuler; }
+ KoRuler* vertRuler() const { return vRuler; }
+
+ Kivio::PluginManager* pluginManager();
+
+ int hTextAlign();
+ int vTextAlign();
+
+ signals:
+ void zoomChanged(int);
+ void updateStencilSetList();
+
+ protected:
+ void createGeometryDock();
+ void createLayerDock();
+ void createBirdEyeDock();
+ void createProtectionDock();
+ void createObjectListPalette();
+
+ public slots:
+ void paperLayoutDlg();
+
+ void togglePageMargins(bool);
+ void toggleShowRulers(bool);
+ void toggleShowGrid(bool);
+ void toggleSnapGrid(bool);
+ void toggleShowGuides(bool);
+
+ void toggleStencilGeometry(bool);
+ void toggleViewManager(bool);
+
+ void addPage( KivioPage* );
+ void removePage( KivioPage* );
+ void insertPage();
+ void removePage();
+ void renamePage();
+ void hidePage();
+ void showPage();
+ void viewZoom(int);
+
+ void groupStencils();
+ void ungroupStencils();
+
+ void selectAllStencils();
+ void unselectAllStencils();
+
+ void bringStencilToFront();
+ void sendStencilToBack();
+
+ void addStencilFromSpawner( KivioStencilSpawner *pSpawner, double x = 0.0, double y = 0.0 );
+
+ void changePage( const QString& _name );
+
+ void updateToolBars();
+
+ void cutStencil();
+ void copyStencil();
+ void pasteStencil();
+ /// Called by the delete action
+ void deleteObject();
+
+ void alignStencilsDlg();
+ void optionsDialog();
+
+ void slotPageHidden( KivioPage* page );
+ void slotPageShown( KivioPage* page );
+
+ void setRulerPageLayout(const KoPageLayout& l);
+
+ void popupTabBarMenu( const QPoint& point );
+
+ void initStatusBarProgress();
+ void setStatusBarProgress(int progress);
+ void removeStatusBarProgress();
+
+ void setActivePage( KivioPage* );
+
+ void setStatusBarInfo(const QString& text);
+
+ protected slots:
+ void slotPageRenamed( KivioPage* page, const QString& old_name );
+ void slotUpdateView( KivioPage *_page );
+ void slotUpdateGrid();
+
+ void setFGColor();
+ void setBGColor();
+ void setTextColor();
+
+ void setFontFamily( const QString & );
+ void setFontSize( int );
+
+ void setLineWidth(double);
+ void setLineStyle(int);
+
+ void toggleFontBold(bool);
+ void toggleFontItalics(bool);
+ void toggleFontUnderline(bool);
+
+ void setHParaAlign( int );
+ void setVParaAlign( int );
+ void textAlignLeft();
+ void textAlignCenter();
+ void textAlignRight();
+ void textSuperScript();
+ void textSubScript();
+ void showAlign( int align );
+ void showVAlign( int align );
+
+ void slotSetStartArrow( int );
+ void slotSetEndArrow( int );
+
+ void slotSetStartArrowSize();
+ void slotSetEndArrowSize();
+
+ void slotChangeStencilPosition(double, double);
+ void slotChangeStencilSize(double, double);
+ void slotChangeStencilRotation(int);
+
+ void viewZoom(const QString& s);
+
+ void addSpawnerToStackBar( KivioStencilSpawnerSet * );
+ void addStencilSet( const QString& );
+
+ void setMousePos( int mx, int my );
+ void setRulerUnit(KoUnit::Unit);
+ void setRulerHOffset(int h);
+ void setRulerVOffset(int v);
+ void rulerChangedUnit(KoUnit::Unit u);
+
+ void textFormat();
+ void stencilFormat();
+ void arrowHeadFormat();
+
+ void clipboardDataChanged();
+
+ void installStencilSet();
+
+ /// This slot gets called when the loading has finished (doh!)
+ void loadingFinished();
+
+ void moveTab(unsigned tab, unsigned target);
+
+ void addGuideLine();
+
+ void showAddStencilSetDialog();
+
+ void updateRulers();
+
+ protected:
+ void setupActions();
+ void initActions();
+
+ virtual void updateReadWrite( bool readwrite );
+ virtual void partActivateEvent(KParts::PartActivateEvent* event);
+
+ void updatePageStatusLabel();
+
+ private:
+ KivioCanvas *m_pCanvas;
+ KoTabBar *m_pTabBar;
+
+ KAction* m_paperLayout;
+ KAction* m_insertPage;
+ KAction* m_removePage;
+ KAction* m_renamePage;
+ KAction* m_hidePage;
+ KAction* m_showPage;
+ KAction* m_arrowHeadsMenuAction;
+ KAction* m_menuTextFormatAction;
+ KAction* m_menuStencilConnectorsAction;
+
+ TKSelectColorAction *m_setFGColor;
+ TKSelectColorAction *m_setBGColor;
+
+ KFontAction *m_setFontFamily;
+ KFontSizeAction *m_setFontSize;
+ KToggleAction *m_setBold;
+ KToggleAction *m_setItalics;
+ KToggleAction *m_setUnderline;
+ TKSelectColorAction *m_setTextColor;
+ KToggleAction* m_textAlignLeft;
+ KToggleAction* m_textAlignCenter;
+ KToggleAction* m_textAlignRight;
+ KToggleAction* m_textVAlignSuper;
+ KToggleAction* m_textVAlignSub;
+
+ KivioArrowHeadAction* m_setArrowHeads;
+
+ QStringList m_lineWidthList;
+
+ KivioDoc* m_pDoc;
+ KivioPage* m_pActivePage;
+ KivioStencilSpawnerSet* m_pActiveSpawnerSet;
+
+ StencilBarDockManager* m_pStencilBarDockManager;
+ KoPaletteManager* m_pPaletteManager;
+
+ KoRuler* vRuler;
+ KoRuler* hRuler;
+
+ KivioStencilGeometryPanel* m_pStencilGeometryPanel;
+ KivioLayerPanel* m_pLayersPanel;
+ KivioBirdEyePanel* m_pBirdEyePanel;
+ KivioProtectionPanel* m_pProtectionPanel;
+ Kivio::ObjectListPalette* m_objectListPalette;
+ KToggleAction* showPageMargins;
+ KToggleAction* showRulers;
+ KToggleAction* showGrid;
+ KToggleAction* showGuides;
+ KAction *m_selectAll;
+ KAction *m_selectNone;
+ KAction *m_editCopy;
+ KAction* m_editCut;
+ KAction* m_editPaste;
+ KAction* m_editDelete;
+ bool m_bShowPageMargins;
+ bool m_bShowRulers;
+ bool m_bSnapGuides;
+ bool m_bShowGuides;
+
+ DCOPObject *dcop;
+
+ KoZoomHandler* m_zoomHandler;
+
+ KStatusBarLabel* m_coordSLbl;
+ KStatusBarLabel* m_pageCountSLbl;
+ KStatusBarLabel* m_infoSLbl;
+
+ Kivio::PluginManager* m_pluginManager;
+
+ KAction* m_groupAction;
+ KAction* m_ungroupAction;
+ KAction* m_stencilToFront;
+ KAction* m_stencilToBack;
+ KAction* m_alignAndDistribute;
+ KoLineWidthAction* m_lineWidthAction;
+ KoLineStyleAction* m_lineStyleAction;
+
+ QProgressBar* m_statusBarProgress;
+
+ QScrollBar* m_vertScrollBar;
+ QScrollBar* m_horzScrollBar;
+ Kivio::AddStencilTool* m_addStencilTool;
+
+ Kivio::AddStencilSetDialog* m_addStencilSetDialog;
+};
+
+#endif