1
/* This file is part of the KDE project
2
Copyright (C) 2010 KO GmbH <ben.martin@kogmbh.com>
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Library General Public
6
License as published by the Free Software Foundation; either
7
version 2 of the License, or (at your option) any later version.
9
This library is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
Library General Public License for more details.
14
You should have received a copy of the GNU Library General Public License
15
along with this library; see the file COPYING.LIB. If not, write to
16
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
* Boston, MA 02110-1301, USA.
20
#include "InsertSemanticObjectCreateAction.h"
21
#include "KoDocumentRdf.h"
23
#include "KoCanvasBase.h"
24
#include "KoToolProxy.h"
25
#include "KoTextEditor.h"
29
#include <KPageDialog>
31
#include <QVBoxLayout>
33
InsertSemanticObjectCreateAction::InsertSemanticObjectCreateAction(
37
: InsertSemanticObjectActionBase(canvas, rdf, name),
42
InsertSemanticObjectCreateAction::~InsertSemanticObjectCreateAction()
46
void InsertSemanticObjectCreateAction::activated()
48
kDebug(30015) << "create semantic action...";
49
QWidget *widget = new QWidget();
50
QVBoxLayout *lay = new QVBoxLayout(widget);
51
widget->setLayout(lay);
53
kDebug(30015) << "klass:" << m_klass;
54
KoRdfSemanticItem *semItem = KoRdfSemanticItem::createSemanticItem(
55
m_rdf, m_rdf, m_klass);
56
QWidget *w = semItem->createEditor(widget);
58
KPageDialog dialog(m_canvas->canvasWidget());
59
dialog.setCaption(i18n("%1 Options", text())); // TODO add comment using i18nc
60
dialog.addPage(widget, QString());
61
if (dialog.exec() == KPageDialog::Accepted) {
62
kDebug(30015) << "activated...";
63
semItem->updateFromEditorData();
64
semItem->insert(m_canvas);