19#ifndef __kivio_gui_h__
20#define __kivio_gui_h__
27class KivioPaperLayout;
30class KivioStencilSpawner;
31class KivioStencilSpawnerSet;
33class TTDESelectColorAction;
34class StencilBarDockManager;
35class KivioArrowHeadAction;
40 class AddStencilSetDialog;
45class KivioBirdEyePanel;
47class KivioProtectionPanel;
48class KivioStencilGeometryPanel;
55class TDEFontSizeAction;
58class TDESelectColorAction;
68class KoUnitDoubleSpinBox;
70class KoLineWidthAction;
71class KoLineStyleAction;
72class KoPaletteManager;
79#include <KoDocument.h>
82#include <koffice_export.h>
85class KIVIO_EXPORT KivioView :
public KoView
89 friend class KivioCanvas;
92 KivioView( TQWidget *_parent,
const char *_name, KivioDoc *_doc );
95 virtual DCOPObject* dcopObject();
97 KivioCanvas* canvasWidget()
const {
return m_pCanvas; }
98 KivioDoc* doc()
const {
return m_pDoc; }
100 KivioPage* activePage()
const;
102 void setActiveSpawnerSet( KivioStencilSpawnerSet* );
103 KivioStencilSpawnerSet *activeSpawnerSet();
105 KoTabBar* tabBar()
const {
return m_pTabBar;}
106 KoPaletteManager* paletteManager() {
return m_pPaletteManager; };
107 void updateMenuPage( );
109 virtual void setupPrinter(KPrinter&);
110 virtual void print(KPrinter&);
112 virtual TQWidget* canvas()
const;
113 virtual int canvasXOffset()
const;
114 virtual int canvasYOffset()
const;
116 bool isSnapGuides()
const {
return m_bSnapGuides; }
117 bool isShowGuides()
const {
return m_bShowGuides; }
118 bool isShowRulers()
const {
return m_bShowRulers; }
119 bool isShowPageMargins()
const {
return m_bShowPageMargins; }
121 virtual int leftBorder()
const;
122 virtual int rightBorder()
const;
123 virtual int topBorder()
const;
124 virtual int bottomBorder()
const;
128 TQColor fgColor()
const;
129 TQColor bgColor()
const;
130 double lineWidth()
const;
131 int lineStyle()
const;
133 void insertPage( KivioPage* page );
134 void resetLayerPanel();
135 void updateProtectPanelCheckBox();
137 KoZoomHandler* zoomHandler()
const;
139 KoRuler* horzRuler()
const {
return hRuler; }
140 KoRuler* vertRuler()
const {
return vRuler; }
148 void zoomChanged(
int);
149 void updateStencilSetList();
152 void createGeometryDock();
153 void createLayerDock();
154 void createBirdEyeDock();
155 void createProtectionDock();
156 void createObjectListPalette();
159 void paperLayoutDlg();
161 void togglePageMargins(
bool);
162 void toggleShowRulers(
bool);
163 void toggleShowGrid(
bool);
164 void toggleSnapGrid(
bool);
165 void toggleShowGuides(
bool);
167 void toggleStencilGeometry(
bool);
168 void toggleViewManager(
bool);
170 void addPage( KivioPage* );
171 void removePage( KivioPage* );
179 void groupStencils();
180 void ungroupStencils();
182 void selectAllStencils();
183 void unselectAllStencils();
185 void bringStencilToFront();
186 void sendStencilToBack();
188 void addStencilFromSpawner( KivioStencilSpawner *pSpawner,
double x = 0.0,
double y = 0.0 );
190 void changePage(
const TQString& _name );
192 void updateToolBars();
200 void alignStencilsDlg();
201 void optionsDialog();
203 void slotPageHidden( KivioPage* page );
204 void slotPageShown( KivioPage* page );
206 void setRulerPageLayout(
const KoPageLayout& l);
208 void popupTabBarMenu(
const TQPoint& point );
210 void initStatusBarProgress();
211 void setStatusBarProgress(
int progress);
212 void removeStatusBarProgress();
214 void setActivePage( KivioPage* );
216 void setStatusBarInfo(
const TQString& text);
219 void slotPageRenamed( KivioPage* page,
const TQString& old_name );
220 void slotUpdateView( KivioPage *_page );
221 void slotUpdateGrid();
227 void setFontFamily(
const TQString & );
228 void setFontSize(
int );
230 void setLineWidth(
double);
231 void setLineStyle(
int);
233 void toggleFontBold(
bool);
234 void toggleFontItalics(
bool);
235 void toggleFontUnderline(
bool);
237 void setHParaAlign(
int );
238 void setVParaAlign(
int );
239 void textAlignLeft();
240 void textAlignCenter();
241 void textAlignRight();
242 void textSuperScript();
243 void textSubScript();
244 void showAlign(
int align );
245 void showVAlign(
int align );
247 void slotSetStartArrow(
int );
248 void slotSetEndArrow(
int );
250 void slotSetStartArrowSize();
251 void slotSetEndArrowSize();
253 void slotChangeStencilPosition(
double,
double);
254 void slotChangeStencilSize(
double,
double);
255 void slotChangeStencilRotation(
int);
257 void viewZoom(
const TQString& s);
259 void addSpawnerToStackBar( KivioStencilSpawnerSet * );
260 void addStencilSet(
const TQString& );
262 void setMousePos(
int mx,
int my );
263 void setRulerUnit(KoUnit::Unit);
264 void setRulerHOffset(
int h);
265 void setRulerVOffset(
int v);
266 void rulerChangedUnit(KoUnit::Unit u);
269 void stencilFormat();
270 void arrowHeadFormat();
272 void clipboardDataChanged();
274 void installStencilSet();
277 void loadingFinished();
279 void moveTab(
unsigned tab,
unsigned target);
283 void showAddStencilSetDialog();
291 virtual void updateReadWrite(
bool readwrite );
292 virtual void partActivateEvent(KParts::PartActivateEvent* event);
294 void updatePageStatusLabel();
297 KivioCanvas *m_pCanvas;
300 TDEAction* m_paperLayout;
301 TDEAction* m_insertPage;
302 TDEAction* m_removePage;
303 TDEAction* m_renamePage;
304 TDEAction* m_hidePage;
305 TDEAction* m_showPage;
306 TDEAction* m_arrowHeadsMenuAction;
307 TDEAction* m_menuTextFormatAction;
308 TDEAction* m_menuStencilConnectorsAction;
310 TTDESelectColorAction *m_setFGColor;
311 TTDESelectColorAction *m_setBGColor;
313 TDEFontAction *m_setFontFamily;
314 TDEFontSizeAction *m_setFontSize;
315 TDEToggleAction *m_setBold;
316 TDEToggleAction *m_setItalics;
317 TDEToggleAction *m_setUnderline;
318 TTDESelectColorAction *m_setTextColor;
319 TDEToggleAction* m_textAlignLeft;
320 TDEToggleAction* m_textAlignCenter;
321 TDEToggleAction* m_textAlignRight;
322 TDEToggleAction* m_textVAlignSuper;
323 TDEToggleAction* m_textVAlignSub;
325 KivioArrowHeadAction* m_setArrowHeads;
327 TQStringList m_lineWidthList;
330 KivioPage* m_pActivePage;
331 KivioStencilSpawnerSet* m_pActiveSpawnerSet;
333 StencilBarDockManager* m_pStencilBarDockManager;
334 KoPaletteManager* m_pPaletteManager;
339 KivioStencilGeometryPanel* m_pStencilGeometryPanel;
340 KivioLayerPanel* m_pLayersPanel;
341 KivioBirdEyePanel* m_pBirdEyePanel;
342 KivioProtectionPanel* m_pProtectionPanel;
344 TDEToggleAction* showPageMargins;
345 TDEToggleAction* showRulers;
346 TDEToggleAction* showGrid;
347 TDEToggleAction* showGuides;
348 TDEAction *m_selectAll;
349 TDEAction *m_selectNone;
350 TDEAction *m_editCopy;
351 TDEAction* m_editCut;
352 TDEAction* m_editPaste;
353 TDEAction* m_editDelete;
354 bool m_bShowPageMargins;
361 KoZoomHandler* m_zoomHandler;
363 KStatusBarLabel* m_coordSLbl;
364 KStatusBarLabel* m_pageCountSLbl;
365 KStatusBarLabel* m_infoSLbl;
369 TDEAction* m_groupAction;
370 TDEAction* m_ungroupAction;
371 TDEAction* m_stencilToFront;
372 TDEAction* m_stencilToBack;
373 TDEAction* m_alignAndDistribute;
374 KoLineWidthAction* m_lineWidthAction;
375 KoLineStyleAction* m_lineStyleAction;
377 TQProgressBar* m_statusBarProgress;
379 TQScrollBar* m_vertScrollBar;
380 TQScrollBar* m_horzScrollBar;
383 Kivio::AddStencilSetDialog* m_addStencilSetDialog;
Palette showing a list of all objects on the page.
This class manages the plugins.