OSDN Git Service

a3c34227283c3b751fb53ca77c0e88d442511b3d
[qt-creator-jp/qt-creator-jp.git] / doc / pluginhowto / examples / htmleditor / htmleditorplugin.cpp
1 /***************************************************************************
2 **
3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: Nokia Corporation (qt-info@nokia.com)
6 **
7 ** This file is part of the documentation of Qt Creator.
8 **
9 ** You may use this file under the terms of the BSD license as follows:
10 **
11 ** "Redistribution and use in source and binary forms, with or without
12 ** modification, are permitted provided that the following conditions are
13 ** met:
14 **   * Redistributions of source code must retain the above copyright
15 **     notice, this list of conditions and the following disclaimer.
16 **   * Redistributions in binary form must reproduce the above copyright
17 **     notice, this list of conditions and the following disclaimer in
18 **     the documentation and/or other materials provided with the
19 **     distribution.
20 **   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
21 **     the names of its contributors may be used to endorse or promote
22 **     products derived from this software without specific prior written
23 **     permission.
24 **
25 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
36 **
37 ****************************************************************************/
38
39 #include "htmleditorplugin.h"
40 #include "htmleditorfactory.h"
41 #include <coreplugin/actionmanager/actionmanager.h>
42 #include <coreplugin/actionmanager/command.h>
43 #include <coreplugin/coreconstants.h>
44 #include <coreplugin/mimedatabase.h>
45 #include <coreplugin/icore.h>
46 #include <QtPlugin>
47 #include <QString>
48 #include <QMessageBox>
49 #include <QFontDialog>
50
51 HTMLEditorPlugin::HTMLEditorPlugin()
52 {
53     // Do nothing
54 }
55
56 HTMLEditorPlugin::~HTMLEditorPlugin()
57 {
58     // Do notning
59 }
60
61 void HTMLEditorPlugin::extensionsInitialized()
62 {
63     // Do nothing
64 }
65
66 bool HTMLEditorPlugin::initialize(const QStringList& args, QString *errMsg)
67 {
68     Q_UNUSED(args);
69
70     Core::ActionManager* am = Core::ICore::instance()->actionManager();
71     Core::ActionContainer* ac = am->actionContainer(Core::Constants::M_EDIT);
72     QAction* Font = ac->menu()->addAction("Font");
73
74     // Create a command for "Font".
75     Core::Command* cmd = am->registerAction(new QAction(this),"HTMLEditorPlugin.Font",QList<int>() << 0);
76     cmd->action()->setText("Font");
77
78     Core::ICore* core = Core::ICore::instance();
79     Core::MimeDatabase* mdb = core->mimeDatabase();
80
81     if(!mdb->addMimeTypes("text-html-mimetype.xml", errMsg))
82         return false;
83
84     QMessageBox::information(0, "Msg", *errMsg);
85
86     addAutoReleasedObject(new HTMLEditorFactory(this));
87     return true;
88 }
89
90 void HTMLEditorPlugin::shutdown()
91 {
92     // Do nothing
93 }
94
95 Q_EXPORT_PLUGIN(HTMLEditorPlugin)