lib Library API Documentation

KoView Class Reference

This class is used to display a KoDocument. More...

#include <koView.h>

Inheritance diagram for KoView:

Inheritance graph
[legend]
Collaboration diagram for KoView:

Collaboration graph
[legend]
List of all members.

Public Slots

virtual void newView ()
virtual void beginOperation ()
virtual void endOperation ()
void slotActionStatusText (const QString &text)
void slotClearStatusText ()

Signals

void activated (bool active)
void selected (bool select)
void childSelected (KoDocumentChild *child)
void childUnselected (KoDocumentChild *child)
void childActivated (KoDocumentChild *child)
void childDeactivated (KoDocumentChild *child)
void regionInvalidated (const QRegion &region, bool erase)
void invalidated ()
void embeddImage (const QString &filename)

Public Member Functions

 KoView (KoDocument *document, QWidget *parent=0, const char *name=0)
virtual ~KoView ()
KoDocumentkoDocument () const
void setDocumentDeleted ()
bool documentDeleted () const
virtual void setPartManager (KParts::PartManager *manager)
virtual KParts::PartManager * partManager () const
virtual KAction * action (const QDomElement &element) const
virtual KoDocumenthitTest (const QPoint &pos)
virtual int leftBorder () const
virtual int rightBorder () const
virtual int topBorder () const
virtual int bottomBorder () const
virtual void setZoom (double zoom)
virtual double zoom () const
virtual QWidgetcanvas ()
virtual int canvasXOffset () const
virtual int canvasYOffset () const
virtual void canvasAddChild (KoViewChild *child)
virtual KoDocumentChildselectedChild ()
virtual KoDocumentChildactiveChild ()
virtual void paintEverything (QPainter &painter, const QRect &rect, bool transparent=false)
bool hasDocumentInWindow (KoDocument *doc)
QWMatrix matrix () const
KoViewChildchild (KoView *view)
KoViewChildchild (KoDocument *document)
virtual DCOPObject * dcopObject ()
virtual void setupPrinter (KPrinter &printer)
virtual void print (KPrinter &printer)
KoMainWindowshell () const
KMainWindow * mainWindow () const
KStatusBar * statusBar () const
void addStatusBarItem (QWidget *widget, int stretch=0, bool permanent=false)
void removeStatusBarItem (QWidget *widget)
void showAllStatusBarItems (bool show)
virtual void updateReadWrite (bool readwrite)=0
bool isInOperation () const

Protected Slots

virtual void slotChildActivated (bool a)
virtual void slotChildChanged (KoDocumentChild *child)

Protected Member Functions

virtual void customEvent (QCustomEvent *ev)
virtual void partActivateEvent (KParts::PartActivateEvent *event)
virtual void partSelectEvent (KParts::PartSelectEvent *event)
virtual void guiActivateEvent (KParts::GUIActivateEvent *)

Detailed Description

This class is used to display a KoDocument.

Multiple views can be attached to one document at a time.

Definition at line 57 of file koView.h.


Constructor & Destructor Documentation

KoView::KoView KoDocument document,
QWidget parent = 0,
const char *  name = 0
 

Creates a new view for the document.

Usually you don't create views yourself since the KOffice components come with their own view classes which inherit KoView.

The standard way to retrieve a KoView is to call KoDocument::createView.

Parameters:
document is the document which should be displayed in this view. This pointer must not be zero.
name Name of the view. The name is used in DCOP, so the name should match the pattern [A-Za-z_][A-Za-z_0-9]*.

Definition at line 106 of file koView.cc.

References beginOperation(), endOperation(), slotActionStatusText(), slotClearStatusText(), and statusBar().

KoView::~KoView  )  [virtual]
 

Destroys the view and unregisters at the document.

Definition at line 158 of file koView.cc.

References koDocument().


Member Function Documentation

KoDocument * KoView::koDocument  )  const
 

Retrieves the document object of this view.

Definition at line 175 of file koView.cc.

Referenced by activeChild(), hitTest(), KoDocument::paintChild(), paintEverything(), partActivateEvent(), partSelectEvent(), selectedChild(), and ~KoView().

void KoView::setDocumentDeleted  ) 
 

Tells this view that its document has got deleted (called internally).

Definition at line 180 of file koView.cc.

bool KoView::documentDeleted  )  const
 

Returns:
true if the document has already got deleted. This can be useful for the view destructor to know if it can access the document or not.

Definition at line 185 of file koView.cc.

KAction * KoView::action const QDomElement element  )  const [virtual]
 

Returns the action described action object.

In fact only the "name" attribute of element is of interest here. The method searches in the KActionCollection of this view.

Please notice that KoView indirectly inherits KXMLGUIClient.

See also:
KXMLGUIClient

KXMLGUIClient::actionCollection

KoDocument::action

Definition at line 213 of file koView.cc.

KoDocument * KoView::hitTest const QPoint pos  )  [virtual]
 

Retrieves the document that is hit.

This can be an embedded document.

The default implementation asks KoDocument::hitTest. This will iterate over all child documents to detect a hit.

If your koffice component has multiple pages, like for example KSpread, then the hittest may not succeed for a child that is not on the visible page. In those cases you need to reimplement this method.

Definition at line 226 of file koView.cc.

References activeChild(), child(), KoDocumentChild::document(), KoChild::frameRegion(), koDocument(), matrix(), selectedChild(), and zoom().

int KoView::leftBorder  )  const [virtual]
 

Retrieves the left border width that is displayed around the content if the view is active.

In a spread sheet this border is for example used to display the rows, while a top border is used to display the names of the cells and a right and bottom border is used to display scrollbars. If the view becomes inactive, then this stuff is not displayed anymore.

KoFrame uses this border information. If an embedded document becomes active then it is resized so that it has enough space to display the borders and to display the same content as before the activation. So if for example all of your borders are 20 pixels, then activating the embedded document causes the KoView to move 20 pixels up/left and the size and width increases by 20+20 pixels each.

The default border is 0.

Definition at line 268 of file koView.cc.

int KoView::rightBorder  )  const [virtual]
 

See also:
leftBorder

Definition at line 273 of file koView.cc.

int KoView::topBorder  )  const [virtual]
 

See also:
leftBorder

Definition at line 278 of file koView.cc.

int KoView::bottomBorder  )  const [virtual]
 

See also:
leftBorder

Definition at line 283 of file koView.cc.

void KoView::setZoom double  zoom  )  [virtual]
 

Scales the view on the content.

This does not affect the contents data structures. You can use this mechanism to implement a zoom for example.

The method calls QWidget::update so that the scaled content is automatically displayed.

The default scaling is 1.0 in both orientations.

Definition at line 288 of file koView.cc.

double KoView::zoom  )  const [virtual]
 

Returns:
the current scaling factor (zoom level)
See also:
setZoom

Definition at line 294 of file koView.cc.

Referenced by hitTest(), and matrix().

QWidget * KoView::canvas  )  [virtual]
 

Overload this function if the content will be displayed on some child widget instead of the view directly.

By default this function returns a pointer to the view.

Definition at line 299 of file koView.cc.

Referenced by beginOperation(), and endOperation().

int KoView::canvasXOffset  )  const [virtual]
 

Overload this function if the content will be displayed with an offset relative to the upper left corner of the canvas widget.

By default this function returns 0.

Definition at line 304 of file koView.cc.

Referenced by partSelectEvent().

int KoView::canvasYOffset  )  const [virtual]
 

Overload this function if the content will be displayed with an offset relative to the upper left corner of the canvas widget.

By default this function returns 0.

Definition at line 309 of file koView.cc.

Referenced by partSelectEvent().

void KoView::canvasAddChild KoViewChild child  )  [virtual]
 

Overload this function if you need to perform some actions after KoView (the part widget) is inserted into canvas.

You should call for example addChild(QWidget*) method of QScrollView here, if canvas is a viewport of QScrollView.

By default this function does nothing.

Definition at line 314 of file koView.cc.

KoDocumentChild * KoView::selectedChild  )  [virtual]
 

Returns:
the selected child. The function returns 0 if no direct child is currently selected.

Definition at line 439 of file koView.cc.

References koDocument().

Referenced by hitTest().

KoDocumentChild * KoView::activeChild  )  [virtual]
 

Returns:
the active child. The function returns 0 if no direct child is currently active.

Definition at line 452 of file koView.cc.

References koDocument().

Referenced by hitTest().

void KoView::paintEverything QPainter painter,
const QRect rect,
bool  transparent = false
[virtual]
 

calls KoDocument::paintEverything()

Definition at line 465 of file koView.cc.

References koDocument().

bool KoView::hasDocumentInWindow KoDocument doc  ) 
 

Returns:
TRUE if the document doc is represented in this view by some KoViewChild.
This is just a convenience function for child.

Definition at line 190 of file koView.cc.

References child().

QWMatrix KoView::matrix  )  const
 

Returns the matrix which is used by the view to transform the content.

Currently only scaling is supported.

The matrix changes when calling setZoom.

Definition at line 490 of file koView.cc.

References zoom().

Referenced by hitTest(), partActivateEvent(), and partSelectEvent().

KoViewChild * KoView::child KoView view  ) 
 

Returns:
the KoViewChild which is responsible for the view or 0.
This method does no recursion.

Definition at line 470 of file koView.cc.

Referenced by hasDocumentInWindow(), hitTest(), partActivateEvent(), and partSelectEvent().

KoViewChild * KoView::child KoDocument document  ) 
 

A convenience function which returns the KoViewChild which in turn holds the KoView that in turn holds the document.

Definition at line 480 of file koView.cc.

DCOPObject * KoView::dcopObject  )  [virtual]
 

Return a DCOP interface for this view KOffice Applications are strongly recommended to reimplement this method, so that their dcop interface provides more functionality than the basic KoViewIface.

Definition at line 633 of file koView.cc.

void KoView::setupPrinter KPrinter &  printer  )  [virtual]
 

Overload this method to setup KPrinter before the actual printing.

See also:
print

Definition at line 565 of file koView.cc.

void KoView::print KPrinter &  printer  )  [virtual]
 

Overload this method with your own printing code.

Definition at line 570 of file koView.cc.

KoMainWindow * KoView::shell  )  const
 

Returns:
the KoMainWindow in which this view is currently. WARNING: this could be 0L, if the main window isn't a koffice main window. (e.g. it can be any KParts application).

Definition at line 603 of file koView.cc.

Referenced by newView(), and statusBar().

KMainWindow * KoView::mainWindow  )  const
 

Returns:
the KMainWindow in which this view is currently. This one should never return 0L, in a KDE app.

Definition at line 608 of file koView.cc.

KStatusBar * KoView::statusBar  )  const
 

Returns:
the statusbar of the KoMainWindow in which this view is currently. WARNING: this could be 0L, if the main window isn't a koffice main window. (e.g. it can be any KParts application).

Definition at line 613 of file koView.cc.

References shell().

Referenced by addStatusBarItem(), KoView(), removeStatusBarItem(), showAllStatusBarItems(), slotActionStatusText(), and slotClearStatusText().

void KoView::addStatusBarItem QWidget widget,
int  stretch = 0,
bool  permanent = false
 

This adds a widget to the statusbar for this view.

If you use this method instead of using statusBar() directly, KoView will take care of removing the items when the view GUI is deactivated and readding them when it is reactivated. The parameters are the same as QStatusBar::addWidget().

Note that you can't use KStatusBar methods (inserting text items by id). But you can create a KStatusBarLabel with a dummy id instead, and use it directly, to get the same look and feel.

Definition at line 412 of file koView.cc.

References statusBar().

void KoView::removeStatusBarItem QWidget widget  ) 
 

Remove a widget from the statusbar for this view.

Definition at line 423 of file koView.cc.

References statusBar().

void KoView::showAllStatusBarItems bool  show  ) 
 

Show or hide all statusbar items.

Used by KoMainWindow during saving.

Definition at line 399 of file koView.cc.

References statusBar().

Referenced by guiActivateEvent().

virtual void KoView::updateReadWrite bool  readwrite  )  [pure virtual]
 

You have to implement this method and disable/enable certain functionality (actions for example) in your view to allow/disallow editing of the document.

bool KoView::isInOperation  )  const
 

Check to see if the view is currently in the middle of an operation which means that there will be no screen refreshes until a signal from the document hits the endOperation slot.

Definition at line 584 of file koView.cc.

void KoView::newView  )  [virtual, slot]
 

Slot to create a new view around the contained koDocument.

Definition at line 575 of file koView.cc.

References KoMainWindow::setRootDocument(), and shell().

void KoView::beginOperation  )  [virtual, slot]
 

Slot to allow code to signal the beginning of an operation where the screen should not update until it is done.

See also:
endOperation

Definition at line 589 of file koView.cc.

References canvas().

Referenced by KoView().

void KoView::endOperation  )  [virtual, slot]
 

Slot to allow code to signal the end of an operation where the screen should not have been updating.

So now it will update.

See also:
beginOperation

Definition at line 595 of file koView.cc.

References canvas().

Referenced by KoView().

void KoView::slotActionStatusText const QString text  )  [slot]
 

Display a message in the status bar (calls QStatusBar::message()).

Definition at line 619 of file koView.cc.

References statusBar().

Referenced by KoView().

void KoView::slotClearStatusText  )  [slot]
 

End of the message in the status bar (calls QStatusBar::clear()).

Definition at line 626 of file koView.cc.

References statusBar().

Referenced by KoView().

void KoView::customEvent QCustomEvent ev  )  [protected, virtual]
 

This method handles three events: KParts::PartActivateEvent, KParts::PartSelectEvent and KParts::GUIActivateEvent.

The respective handlers are called if such an event is found.

Definition at line 318 of file koView.cc.

References guiActivateEvent(), partActivateEvent(), and partSelectEvent().

void KoView::partActivateEvent KParts::PartActivateEvent *  event  )  [protected, virtual]
 

Handles the event KParts::PartActivateEvent.

Definition at line 328 of file koView.cc.

References child(), KoDocumentChild::document(), KoViewChild::frame(), KoChild::frameRegion(), KoChild::isRectangle(), KoChild::isTransparent(), koDocument(), and matrix().

Referenced by customEvent().

void KoView::partSelectEvent KParts::PartSelectEvent *  event  )  [protected, virtual]
 

Handles the event KParts::PartSelectEvent.

Definition at line 365 of file koView.cc.

References canvasXOffset(), canvasYOffset(), child(), KoChild::frameRegion(), koDocument(), and matrix().

Referenced by customEvent().

void KoView::guiActivateEvent KParts::GUIActivateEvent *   )  [protected, virtual]
 

Handles the event KParts::GUIActivateEvent.

Definition at line 394 of file koView.cc.

References showAllStatusBarItems().

Referenced by customEvent().

void KoView::embeddImage const QString filename  )  [signal]
 

Make it possible for plugins to request the embedding of an image into the current document.

Used e.g. by the scan-plugin


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for lib Library Version 1.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Feb 13 09:41:48 2006 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003