Commit 1cba3bdb authored by Boudewijn Rempt's avatar Boudewijn Rempt

Fix the issues with toolbox and paintstuff bar and duplicating views.

svn path=/trunk/koffice/; revision=461198
parent 26843687
...@@ -59,7 +59,7 @@ Core ...@@ -59,7 +59,7 @@ Core
* Histogram computations. Make histogram widget zoomable for 16-bit channel/images * Histogram computations. Make histogram widget zoomable for 16-bit channel/images
* Adjustment layers (Layers that dynamically apply a filter to * Adjustment layers (Layers that dynamically apply a filter to
the layer they are linked to, these do not store actual the layer they are linked to, these do not store actual
image date, except for an occasional mask) These should work on object image data, except for an occasional mask) These should work on object
layers (embedded KOFfice objects), too. (BSAR) layers (embedded KOFfice objects), too. (BSAR)
* Mask layers (mask layers created from selection -- vv) (BSAR) * Mask layers (mask layers created from selection -- vv) (BSAR)
* Layer groups or even better: a hierachy of collapsable folders with layers (with d&d) * Layer groups or even better: a hierachy of collapsable folders with layers (with d&d)
......
...@@ -310,7 +310,6 @@ bool KisDoc::loadXML(QIODevice *, const QDomDocument& doc) ...@@ -310,7 +310,6 @@ bool KisDoc::loadXML(QIODevice *, const QDomDocument& doc)
} }
} }
} }
return true; return true;
} }
...@@ -654,6 +653,7 @@ bool KisDoc::completeSaving(KoStore *store) ...@@ -654,6 +653,7 @@ bool KisDoc::completeSaving(KoStore *store)
store -> close(); store -> close();
} }
} }
// Composite rendition of the entire image for easier kimgio loading // Composite rendition of the entire image for easier kimgio loading
// and to speed up loading the image into Krita: show the composite png first, // and to speed up loading the image into Krita: show the composite png first,
// then load the layers. // then load the layers.
...@@ -661,6 +661,7 @@ bool KisDoc::completeSaving(KoStore *store) ...@@ -661,6 +661,7 @@ bool KisDoc::completeSaving(KoStore *store)
QPixmap * pix = new QPixmap(m_currentImage -> width(), m_currentImage -> height()); QPixmap * pix = new QPixmap(m_currentImage -> width(), m_currentImage -> height());
QPainter gc(pix); QPainter gc(pix);
//m_currentImage->notify();
m_currentImage -> renderToPainter(0, 0, m_currentImage -> width(), m_currentImage -> height(), gc, m_currentImage -> profile()); m_currentImage -> renderToPainter(0, 0, m_currentImage -> width(), m_currentImage -> height(), gc, m_currentImage -> profile());
gc.end(); gc.end();
QImage composite = pix -> convertToImage(); QImage composite = pix -> convertToImage();
...@@ -782,12 +783,13 @@ KisImageSP KisDoc::newImage(const QString& name, Q_INT32 width, Q_INT32 height, ...@@ -782,12 +783,13 @@ KisImageSP KisDoc::newImage(const QString& name, Q_INT32 width, Q_INT32 height,
KisFillPainter painter; KisFillPainter painter;
painter.begin(layer.data()); painter.begin(layer.data());
painter.fillRect(0, 0, width, height, Qt::white, OPACITY_OPAQUE); painter.fillRect(0, 0, width, height, Qt::white, OPACITY_OPAQUE);
painter.end(); painter.end();
img -> add(layer, -1); img -> add(layer, -1);
img->notify();
m_currentImage = img; m_currentImage = img;
return img; return img;
} }
...@@ -827,13 +829,13 @@ bool KisDoc::slotNewImage() ...@@ -827,13 +829,13 @@ bool KisDoc::slotNewImage()
Q_CHECK_PTR(layer); Q_CHECK_PTR(layer);
KisFillPainter painter; KisFillPainter painter;
painter.begin(layer.data()); painter.begin(layer.data());
painter.fillRect(0, 0, dlg.imgWidth(), dlg.imgHeight(), KisColor(c, opacity, cs), opacity); painter.fillRect(0, 0, dlg.imgWidth(), dlg.imgHeight(), KisColor(c, opacity, cs), opacity);
painter.end(); painter.end();
img -> add(layer, -1); img -> add(layer, -1);
img -> notify();
m_currentImage = img; m_currentImage = img;
cfg.defImgWidth(dlg.imgWidth()); cfg.defImgWidth(dlg.imgWidth());
......
This diff is collapsed.
...@@ -275,10 +275,8 @@ private: ...@@ -275,10 +275,8 @@ private:
KisImageIface *m_dcop; KisImageIface *m_dcop;
QPixmap m_pixmap;
vKisAnnotationSP m_annotations; vKisAnnotationSP m_annotations;
bool m_paintInit;
#ifdef __BIG_ENDIAN__ #ifdef __BIG_ENDIAN__
cmsHTRANSFORM m_bigEndianTransform; cmsHTRANSFORM m_bigEndianTransform;
#endif #endif
......
...@@ -37,6 +37,7 @@ KisToolManager::KisToolManager(KisCanvasSubject * parent, KisCanvasControllerInt ...@@ -37,6 +37,7 @@ KisToolManager::KisToolManager(KisCanvasSubject * parent, KisCanvasControllerInt
m_paletteManager = 0; m_paletteManager = 0;
m_actionCollection = 0; m_actionCollection = 0;
m_tools_disabled = false; m_tools_disabled = false;
setup = false;
} }
KisToolManager::~KisToolManager() KisToolManager::~KisToolManager()
...@@ -46,6 +47,11 @@ KisToolManager::~KisToolManager() ...@@ -46,6 +47,11 @@ KisToolManager::~KisToolManager()
void KisToolManager::setUp(KisToolBox * toolbox, KoPaletteManager * paletteManager, KActionCollection * actionCollection) void KisToolManager::setUp(KisToolBox * toolbox, KoPaletteManager * paletteManager, KActionCollection * actionCollection)
{ {
if (setup) {
resetToolBox( toolbox );
return;
}
m_toolBox = toolbox; m_toolBox = toolbox;
m_paletteManager = paletteManager; m_paletteManager = paletteManager;
m_actionCollection = actionCollection; m_actionCollection = actionCollection;
...@@ -59,8 +65,8 @@ void KisToolManager::setUp(KisToolBox * toolbox, KoPaletteManager * paletteManag ...@@ -59,8 +65,8 @@ void KisToolManager::setUp(KisToolBox * toolbox, KoPaletteManager * paletteManag
m_inputDeviceToolSetMap[INPUT_DEVICE_ERASER] = KisToolRegistry::instance() -> createTools(actionCollection, m_subject); m_inputDeviceToolSetMap[INPUT_DEVICE_ERASER] = KisToolRegistry::instance() -> createTools(actionCollection, m_subject);
m_inputDeviceToolSetMap[INPUT_DEVICE_PUCK] = KisToolRegistry::instance() -> createTools(actionCollection, m_subject); m_inputDeviceToolSetMap[INPUT_DEVICE_PUCK] = KisToolRegistry::instance() -> createTools(actionCollection, m_subject);
vKisTool tools = m_inputDeviceToolSetMap[INPUT_DEVICE_MOUSE]; m_tools = m_inputDeviceToolSetMap[INPUT_DEVICE_MOUSE];
for (vKisTool_it it = tools.begin(); it != tools.end(); ++it) { for (vKisTool_it it = m_tools.begin(); it != m_tools.end(); ++it) {
KisTool * t = *it; KisTool * t = *it;
if (!t) continue; if (!t) continue;
toolbox->registerTool( t->action(), t->toolType(), t->priority() ); toolbox->registerTool( t->action(), t->toolType(), t->priority() );
...@@ -68,7 +74,40 @@ void KisToolManager::setUp(KisToolBox * toolbox, KoPaletteManager * paletteManag ...@@ -68,7 +74,40 @@ void KisToolManager::setUp(KisToolBox * toolbox, KoPaletteManager * paletteManag
toolbox->setupTools(); toolbox->setupTools();
setCurrentTool(findTool("tool_brush")); KisTool * t = findTool("tool_brush");
kdDebug() << "found " << t << " when looking for brush tool.\n";
setCurrentTool(t);
setup = true;
}
void KisToolManager::youAintGotNoToolBox()
{
m_toolBox = 0;
m_oldTool = currentTool();
}
void KisToolManager::resetToolBox(KisToolBox * toolbox)
{
m_toolBox = toolbox;
m_tools = m_inputDeviceToolSetMap[INPUT_DEVICE_MOUSE];
for (vKisTool_it it = m_tools.begin(); it != m_tools.end(); ++it) {
KisTool * t = *it;
if (!t) continue;
m_toolBox->registerTool( t->action(), t->toolType(), t->priority() );
}
toolbox->setupTools();
if (m_oldTool) {
// restore the old current tool
setCurrentTool(m_oldTool);
m_oldTool = 0;
}
} }
void KisToolManager::updateGUI() void KisToolManager::updateGUI()
...@@ -116,7 +155,9 @@ void KisToolManager::updateGUI() ...@@ -116,7 +155,9 @@ void KisToolManager::updateGUI()
} }
else { else {
m_oldTool = 0; m_oldTool = 0;
setCurrentTool(findTool("tool_brush")); KisTool * t = findTool("tool_brush");
kdDebug() << "found " << t << " when looking for brush tool.\n";
setCurrentTool(t);
} }
} }
} }
...@@ -151,6 +192,7 @@ void KisToolManager::setCurrentTool(KisTool *tool) ...@@ -151,6 +192,7 @@ void KisToolManager::setCurrentTool(KisTool *tool)
m_subject->notify(); m_subject->notify();
tool->action()->setChecked( true ); tool->action()->setChecked( true );
tool->action()->activate();
} else { } else {
m_inputDeviceToolMap[m_controller->currentInputDevice()] = 0; m_inputDeviceToolMap[m_controller->currentInputDevice()] = 0;
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "kis_global.h" #include "kis_global.h"
#include "kis_types.h" #include "kis_types.h"
class KoView;
class KisCanvasSubject; class KisCanvasSubject;
class KisView; class KisView;
class KisTool; class KisTool;
...@@ -50,6 +51,10 @@ public: ...@@ -50,6 +51,10 @@ public:
public: public:
void setUp(KisToolBox * toolbox, KoPaletteManager * paletteManager, KActionCollection * collection); void setUp(KisToolBox * toolbox, KoPaletteManager * paletteManager, KActionCollection * collection);
// Called when the toolbox is deleted because the view was made inactive in favour of another view
void youAintGotNoToolBox();
void updateGUI(); void updateGUI();
virtual void setCurrentTool(KisTool *tool); virtual void setCurrentTool(KisTool *tool);
...@@ -62,6 +67,10 @@ public: ...@@ -62,6 +67,10 @@ public:
KisTool *findTool(const QString &toolName, enumInputDevice inputDevice = INPUT_DEVICE_UNKNOWN) const; KisTool *findTool(const QString &toolName, enumInputDevice inputDevice = INPUT_DEVICE_UNKNOWN) const;
void activateCurrentTool(); void activateCurrentTool();
private:
void resetToolBox(KisToolBox * toolbox);
private: private:
...@@ -81,8 +90,11 @@ private: ...@@ -81,8 +90,11 @@ private:
KisTool * m_oldTool; KisTool * m_oldTool;
KisTool * m_dummyTool; KisTool * m_dummyTool;
vKisTool m_tools;
bool m_tools_disabled; bool m_tools_disabled;
bool setup;
}; };
......
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
#include <kpopupmenu.h> #include <kpopupmenu.h>
#include <kdebug.h> #include <kdebug.h>
#include <ksharedptr.h> #include <ksharedptr.h>
#include <ktoolbar.h>
// KOffice // KOffice
#include <koPartSelectAction.h> #include <koPartSelectAction.h>
...@@ -76,13 +77,13 @@ ...@@ -76,13 +77,13 @@
#include "kis_color.h" #include "kis_color.h"
#include "kis_colorspace_registry.h" #include "kis_colorspace_registry.h"
#include "kis_config.h" #include "kis_config.h"
#include "kis_controlframe.h"
#include "kis_cursor.h" #include "kis_cursor.h"
#include "kis_doc.h" #include "kis_doc.h"
#include "kis_double_click_event.h" #include "kis_double_click_event.h"
#include "kis_factory.h" #include "kis_factory.h"
#include "kis_gradient.h" #include "kis_gradient.h"
#include "kis_guide.h" #include "kis_guide.h"
#include "kis_imagepipe_brush.h"
#include "kis_layerbox.h" #include "kis_layerbox.h"
#include "kis_layer.h" #include "kis_layer.h"
#include "kis_move_event.h" #include "kis_move_event.h"
...@@ -91,12 +92,14 @@ ...@@ -91,12 +92,14 @@
#include "kis_painter.h" #include "kis_painter.h"
#include "kis_paintop_registry.h" #include "kis_paintop_registry.h"
#include "kis_part_layer.h" #include "kis_part_layer.h"
#include "kis_pattern.h"
#include "kis_profile.h" #include "kis_profile.h"
#include "kis_rect.h" #include "kis_rect.h"
#include "kis_resource.h"
#include "kis_ruler.h" #include "kis_ruler.h"
#include "kis_selection.h" #include "kis_selection.h"
#include "kis_tool.h"
#include "kis_toolbox.h" #include "kis_toolbox.h"
#include "kis_tool.h"
#include "kis_tool_manager.h" #include "kis_tool_manager.h"
#include "kis_transaction.h" #include "kis_transaction.h"
#include "kis_types.h" #include "kis_types.h"
...@@ -106,8 +109,19 @@ ...@@ -106,8 +109,19 @@
#include "labels/kis_label_cursor_pos.h" #include "labels/kis_label_cursor_pos.h"
#include "labels/kis_label_progress.h" #include "labels/kis_label_progress.h"
#include "strategy/kis_strategy_move.h" #include "strategy/kis_strategy_move.h"
#include "kis_resource.h"
#include "kis_pattern.h"
#include <kis_resourceserver.h>
#include <kis_resource_mediator.h>
#include "kis_gray_widget.h"
#include "kis_hsv_widget.h"
#include "kis_icon_item.h"
#include "kis_palette_widget.h"
#include "kis_rgb_widget.h"
#include "kis_birdeye_box.h"
#include "kis_color.h"
#include "kis_factory.h"
// Dialog boxes // Dialog boxes
#include "kis_dlg_progress.h" #include "kis_dlg_progress.h"
...@@ -132,6 +146,7 @@ ...@@ -132,6 +146,7 @@
KisView::KisView(KisDoc *doc, KisUndoAdapter *adapter, QWidget *parent, const char *name) KisView::KisView(KisDoc *doc, KisUndoAdapter *adapter, QWidget *parent, const char *name)
: super(doc, parent, name) : super(doc, parent, name)
, KXMLGUIBuilder( shell() )
, m_doc( doc ) , m_doc( doc )
, m_canvas( 0 ) , m_canvas( 0 )
, m_selectionManager( 0 ) , m_selectionManager( 0 )
...@@ -187,16 +202,19 @@ KisView::KisView(KisDoc *doc, KisUndoAdapter *adapter, QWidget *parent, const ch ...@@ -187,16 +202,19 @@ KisView::KisView(KisDoc *doc, KisUndoAdapter *adapter, QWidget *parent, const ch
, m_inputDevice ( INPUT_DEVICE_MOUSE ) , m_inputDevice ( INPUT_DEVICE_MOUSE )
{ {
kdDebug() << "Creating the view\n";
setFocusPolicy( QWidget::StrongFocus ); setFocusPolicy( QWidget::StrongFocus );
setClientBuilder( this );
if (!doc -> isReadWrite()) if (!doc -> isReadWrite())
setXMLFile("krita_readonly.rc"); setXMLFile("krita_readonly.rc");
else else
setXMLFile("krita.rc"); setXMLFile("krita.rc");
m_paletteManager = new KoPaletteManager(this, actionCollection(), "Krita palette manager"); m_paletteManager = new KoPaletteManager(this, actionCollection(), "Krita palette manager");
m_paletteManager->createPalette( krita::PAINTBOX, i18n("Brushes and stuff")); m_paletteManager->createPalette( krita::CONTROL_PALETTE, i18n("Control box"));
m_paletteManager->createPalette( krita::CONTROL_PALETTE , i18n("Control box"));
m_paletteManager->createPalette( krita::COLORBOX, i18n("Colors")); m_paletteManager->createPalette( krita::COLORBOX, i18n("Colors"));
m_paletteManager->createPalette( krita::LAYERBOX, i18n("Layers")); m_paletteManager->createPalette( krita::LAYERBOX, i18n("Layers"));
...@@ -204,10 +222,11 @@ KisView::KisView(KisDoc *doc, KisUndoAdapter *adapter, QWidget *parent, const ch ...@@ -204,10 +222,11 @@ KisView::KisView(KisDoc *doc, KisUndoAdapter *adapter, QWidget *parent, const ch
m_filterManager = new KisFilterManager(this, doc); m_filterManager = new KisFilterManager(this, doc);
m_toolManager = new KisToolManager(getCanvasSubject(), getCanvasController()); m_toolManager = new KisToolManager(getCanvasSubject(), getCanvasController());
createDockers();
m_fg = KisColor(Qt::black); m_fg = KisColor(Qt::black);
m_bg = KisColor(Qt::white); m_bg = KisColor(Qt::white);
createToolBox();
createLayerBox(); createLayerBox();
// Now the view plugins will be loaded. // Now the view plugins will be loaded.
...@@ -229,14 +248,11 @@ KisView::KisView(KisDoc *doc, KisUndoAdapter *adapter, QWidget *parent, const ch ...@@ -229,14 +248,11 @@ KisView::KisView(KisDoc *doc, KisUndoAdapter *adapter, QWidget *parent, const ch
qApp -> installEventFilter(this); qApp -> installEventFilter(this);
m_tabletEventTimer.start(); m_tabletEventTimer.start();
// XXX: Remember this m_brushesAndStuffToolBar = new KisControlFrame(mainWindow(), this);
m_toolBox->setBarPos(KToolBar::Left);
m_toolManager->setUp(m_toolBox, m_paletteManager, actionCollection());
} }
KisView::~KisView() KisView::~KisView()
{ {
KisConfig cfg; KisConfig cfg;
...@@ -247,6 +263,32 @@ KisView::~KisView() ...@@ -247,6 +263,32 @@ KisView::~KisView()
delete m_selectionManager; delete m_selectionManager;
delete m_filterManager; delete m_filterManager;
delete m_toolManager; delete m_toolManager;
}
QWidget * KisView::createContainer( QWidget *parent, int index, const QDomElement &element, int &id )
{
if( element.attribute( "name" ) == "ToolBox" )
{
m_toolBox = new KisToolBox(mainWindow(), "toolbox");
m_toolManager->setUp(m_toolBox, m_paletteManager, actionCollection());
return m_toolBox;
}
return KXMLGUIBuilder::createContainer( parent, index, element, id );
}
void KisView::removeContainer( QWidget *container, QWidget *parent, QDomElement &element, int id )
{
if( shell() && container == m_toolBox )
{
delete m_toolBox;
m_toolManager->youAintGotNoToolBox();
}
else {
KXMLGUIBuilder::removeContainer( container, parent, element, id );
}
} }
KoPaletteManager * KisView::paletteManager() KoPaletteManager * KisView::paletteManager()
...@@ -284,11 +326,6 @@ void KisView::createLayerBox() ...@@ -284,11 +326,6 @@ void KisView::createLayerBox()
} }
void KisView::createToolBox()
{
m_toolBox = new KisToolBox(mainWindow(), "toolbox");
m_toolBox->setBarPos(KToolBar::Left);
}
DCOPObject* KisView::dcopObject() DCOPObject* KisView::dcopObject()
{ {
...@@ -2730,5 +2767,48 @@ void KisView::setHDRExposure(float exposure) ...@@ -2730,5 +2767,48 @@ void KisView::setHDRExposure(float exposure)
} }
} }
void KisView::createDockers()
{
m_birdEyeBox = new KisBirdEyeBox(this);
m_birdEyeBox -> setCaption(i18n("Overview"));
m_paletteManager->addWidget( m_birdEyeBox, "birdeyebox", krita::CONTROL_PALETTE);
connect(m_birdEyeBox, SIGNAL(exposureChanged(float)), this, SLOT(setHDRExposure(float)));
m_hsvwidget = new KisHSVWidget(this, "hsv");
m_hsvwidget -> setCaption(i18n("HSV"));
m_paletteManager->addWidget( m_hsvwidget, "hsvwidget", krita::COLORBOX);
attach(m_hsvwidget);
m_rgbwidget = new KisRGBWidget(this, "rgb");
m_rgbwidget -> setCaption(i18n("RGB"));
m_paletteManager->addWidget( m_rgbwidget, "rgbwidget", krita::COLORBOX);
attach(m_rgbwidget);
m_graywidget = new KisGrayWidget(this, "gray");
m_graywidget -> setCaption(i18n("Gray"));
m_paletteManager->addWidget( m_graywidget, "graywidget", krita::COLORBOX);
attach(m_graywidget);
m_palettewidget = new KisPaletteWidget(this);
m_palettewidget -> setCaption(i18n("Palettes"));
KisResourceServerBase* rServer;
rServer = KisFactory::rServerRegistry() -> get("PaletteServer");
QValueList<KisResource*> resources = rServer->resources();
QValueList<KisResource*>::iterator it;
for ( it = resources.begin(); it != resources.end(); ++it ) {
m_palettewidget -> slotAddPalette( *it );
}
connect(m_palettewidget, SIGNAL(colorSelected(const KisColor &)), this, SLOT(slotSetFGColor(const KisColor &)));
m_paletteManager->addWidget( m_palettewidget, "palettewidget", krita::COLORBOX);
m_paletteManager->showWidget("hsvwidget");
m_paletteManager->showWidget("layerbox");
m_paletteManager->showWidget(krita::TOOL_OPTION_WIDGET);
}
#include "kis_view.moc" #include "kis_view.moc"
...@@ -28,8 +28,10 @@ ...@@ -28,8 +28,10 @@
#include <qstringlist.h> #include <qstringlist.h>
#include <list> #include <list>
#include <koView.h>
#include <kdebug.h> #include <kdebug.h>
#include <kxmlguibuilder.h>
#include <koView.h>
#include "kis_canvas_controller.h" #include "kis_canvas_controller.h"
#include "kis_canvas_subject.h" #include "kis_canvas_subject.h"
...@@ -53,40 +55,50 @@ class KAction; ...@@ -53,40 +55,50 @@ class KAction;
class KActionMenu; class KActionMenu;
class KPrinter; class KPrinter;
class KToggleAction; class KToggleAction;
class KToolBar;
class KoPartSelectAction; class KoPartSelectAction;
class KoIconItem; class KoIconItem;
class KoTabBar; class KoTabBar;
class KoPaletteManager;
class KisBirdEyeBox;
class KisBrush; class KisBrush;
class KisButtonPressEvent; class KisButtonPressEvent;
class KisButtonReleaseEvent; class KisButtonReleaseEvent;
class KisCanvas; class KisCanvas;
class KisCanvasObserver; class KisCanvasObserver;
class KisCompositeOp; class KisCompositeOp;
class KisControlFrame;
class KisDoc; class KisDoc;
class KisDoubleClickEvent; class KisDoubleClickEvent;
class KisFilterManager; class KisFilterManager;
class KisFilterStrategy; class KisFilterStrategy;
class KisGradient; class KisGradient;
class KisGrayWidget;
class KisHSVWidget;
class KisLabelProgress; class KisLabelProgress;
class KisLayerBox; class KisLayerBox;
class KisMoveEvent; class KisMoveEvent;
class KisPaletteWidget;
class KisPattern; class KisPattern;
class KisPoint; class KisPoint;
class KisRect; class KisRect;
class KisResource; class KisResource;
class KisResourceMediator;
class KisRGBWidget;
class KisRuler; class KisRuler;
class KisSelectionManager; class KisSelectionManager;
class KisToolBox; class KisToolBox;
class KisToolControllerInterface; class KisToolControllerInterface;
class KisToolManager; class KisToolManager;
class KisUndoAdapter; class KisUndoAdapter;
class KoPaletteManager;
class KRITA_EXPORT KisView class KRITA_EXPORT KisView
: public KoView, : public KoView,
public KisCanvasSubject, public KisCanvasSubject,
public KXMLGUIBuilder,
private KisCanvasControllerInterface private KisCanvasControllerInterface
{ {
...@@ -102,6 +114,11 @@ public: ...@@ -102,6 +114,11 @@ public:
KisView(KisDoc *doc, KisUndoAdapter *adapter, QWidget *parent = 0, const char *name = 0); KisView(KisDoc *doc, KisUndoAdapter *adapter, QWidget *parent = 0, const char *name = 0);
virtual ~KisView(); virtual ~KisView();
public: // KXMLGUIBuilder implementation
virtual QWidget *createContainer( QWidget *parent, int index, const QDomElement &element, int &<