20#ifndef __KARBON_VIEW__
21#define __KARBON_VIEW__
29#include <ksharedptr.h>
30#include <kxmlguibuilder.h>
31#include <kdualcolorbutton.h>
33#include <koffice_export.h>
41class KoContextHelpAction;
42class KoLineStyleAction;
44class KoUnitDoubleSpinComboBox;
48class KoPaletteManager;
55class VTransformDocker;
63class VStrokeFillPreview;
65class VStrokeFillPreview;
74class KARBONCOMMON_EXPORT KarbonView :
public KoView,
public KXMLGUIBuilder
80 KarbonView( KarbonPart* part, TQWidget* parent = 0L,
81 const char* name = 0L );
82 virtual ~KarbonView();
84 virtual DCOPObject* dcopObject();
86 KarbonPart *part()
const {
return m_part; }
88 virtual void paintEverything( TQPainter &p,
const TQRect &rect,
bool transparent =
false );
90 bool mouseEvent( TQMouseEvent* event,
const KoPoint & );
91 bool keyEvent( TQEvent* event );
92 void dropEvent( TQDropEvent *e );
94 virtual TQWidget* canvas()
const;
96 VCanvas* canvasWidget()
const {
return m_canvas; }
98 virtual VPainterFactory* painterFactory()
const {
return m_painterFactory; }
100 KoPaletteManager* paletteManager() {
return m_pPaletteManager; };
103 virtual void setupPrinter( KPrinter & ) {}
104 virtual void print( KPrinter& printer );
106 KoContextHelpAction* contextHelpAction()
const {
return m_contextHelpAction; }
108 void reorganizeGUI();
109 void setNumberOfRecentFiles(
unsigned int number );
110 void setLineWidth(
double val );
112 TQLabel* statusMessage()
const {
return m_status; }
114 void setCursor(
const TQCursor & );
116 void repaintAll(
const KoRect & );
117 void repaintAll(
bool =
true );
119 void setPos(
const KoPoint& p );
121 void setViewportRect(
const KoRect &rect );
122 void setZoomAt(
double zoom,
const KoPoint & = KoPoint() );
124 VToolController *toolController();
126 VStrokeFillPreview* strokeFillPreview()
127 {
return m_strokeFillPreview; }
134 void editSelectAll();
135 void editDeselectAll();
136 void editDeleteSelection();
137 void editPurgeHistory();
139 void selectionDuplicate();
140 void selectionBringToFront();
141 void selectionSendToBack();
142 void selectionMoveUp();
143 void selectionMoveDown();
144 void selectionAlignHorizontalLeft();
145 void selectionAlignHorizontalCenter();
146 void selectionAlignHorizontalRight();
147 void selectionAlignVerticalTop();
148 void selectionAlignVerticalCenter();
149 void selectionAlignVerticalBottom();
151 void selectionDistributeHorizontalCenter();
152 void selectionDistributeHorizontalGap();
153 void selectionDistributeHorizontalLeft();
154 void selectionDistributeHorizontalRight();
155 void selectionDistributeVerticalCenter();
156 void selectionDistributeVerticalGap();
157 void selectionDistributeVerticalBottom();
158 void selectionDistributeVerticalTop();
160 void fileImportGraphic();
162 void groupSelection();
163 void ungroupSelection();
171 void setUnit( KoUnit::Unit _unit );
178 void selectionChanged();
180 void slotActiveToolChanged( VTool * );
182 void togglePageMargins(
bool);
185 bool showPageMargins();
188 void showSelectionPopupMenu(
const TQPoint &pos );
194 void viewModeChanged();
195 void zoomChanged(
const KoPoint & = KoPoint() );
196 void setLineStyle(
int );
199 void slotStrokeChanged(
const VStroke& );
200 void slotFillChanged(
const VFill & );
202 void canvasContentsMoving(
int x,
int y );
203 void commandExecuted( VCommand *command );
204 void strokeFillSelectionChanged( KDualColorButton::DualColor s );
205 void colorChanged(
const TQColor &c );
207 void zoomChanged(
double );
208 void selectionChange();
209 void pageLayoutChanged();
212 virtual void updateReadWrite(
bool ) {}
213 virtual void resizeEvent( TQResizeEvent* event );
215 void createDocumentTabDock();
216 void createLayersTabDock();
217 void createHistoryTabDock();
218 void createStrokeDock();
219 void createColorDock();
220 void createTransformDock();
221 void createResourceDock();
224 virtual TQWidget *createContainer( TQWidget *parent,
int index,
const TQDomElement &element,
int &
id );
225 virtual void removeContainer( TQWidget *container, TQWidget *parent, TQDomElement &element,
int id );
226 void addSelectionToClipboard()
const;
234 VRuler *m_horizRuler;
237 VPainterFactory *m_painterFactory;
238 VStrokeFillPreview *m_strokeFillPreview;
239 VTypeButtonBox *m_typeButtonBox;
243 TDEAction *m_groupObjects;
244 TDEAction *m_ungroupObjects;
246 TDEAction *m_closePath;
249 TDESelectAction *m_zoomAction;
250 TDESelectAction *m_viewAction;
251 TDEAction *m_configureAction;
252 TDEToggleAction *m_showRulerAction;
253 TDEToggleAction *m_showGridAction;
254 TDEToggleAction *m_snapGridAction;
255 TDEToggleAction *m_showPageMargins;
256 KoContextHelpAction *m_contextHelpAction;
257 TDEAction *m_deleteSelectionAction;
259 KoUnitDoubleSpinComboBox *m_setLineWidth;
260 KoLineStyleAction *m_lineStyleAction;
263 KoPaletteManager *m_pPaletteManager;
264 VDocumentTab *m_DocumentTab;
265 VLayersTab *m_LayersTab;
266 VHistoryTab *m_HistoryTab;
267 VColorDocker *m_ColorManager;
268 VStrokeDocker *m_strokeDocker;
269 VStyleDocker *m_styleDocker;
270 VTransformDocker *m_TransformDocker;
272 VSelectToolBar *m_selectToolBar;
279 TQLabel *m_cursorCoords;
280 VSmallPreview *m_smallPreview;
281 VToolController *m_toolController;
Keeps track of visual per document properties.
The base class for all karbon commands.
Manages the fill of shapes.
Manages stroke properties.