Scribus
Open source desktop publishing at your fingertips
inlinepalette.h
1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 /***************************************************************************
8  symbolpalette.h - description
9  -------------------
10  begin : Tue Mar 27 2012
11  copyright : (C) 2012 by Franz Schmid
12  email : Franz.Schmid@altmuehlnet.de
13  copyright : Scribus Team
14  ***************************************************************************/
15 
16 /***************************************************************************
17  * *
18  * This program is free software; you can redistribute it and/or modify *
19  * it under the terms of the GNU General Public License as published by *
20  * the Free Software Foundation; either version 2 of the License, or *
21  * (at your option) any later version. *
22  * *
23  ***************************************************************************/
24 
25 #ifndef INLINEPAL_H
26 #define INLINEPAL_H
27 
28 #include <QDragEnterEvent>
29 #include <QDragLeaveEvent>
30 #include <QDragMoveEvent>
31 #include <QDropEvent>
32 #include <QImage>
33 #include <QListWidget>
34 #include <QMouseEvent>
35 #include <QPixmap>
36 #include <QToolTip>
37 #include <QVBoxLayout>
38 
39 
40 class QEvent;
41 class ScribusMainWindow;
42 class ScribusDoc;
43 
44 
45 #include "scribusapi.h"
46 #include "scdockpalette.h"
47 #include "sclistwidgetdelegate.h"
48 
49 class SCRIBUS_API InlineView : public QListWidget
50 {
51  Q_OBJECT
52 
53 public:
54  InlineView( QWidget* parent);
55  ~InlineView() {};
56 
57 protected:
58  void dragEnterEvent(QDragEnterEvent *e);
59  void dragMoveEvent(QDragMoveEvent *e);
60  void dropEvent(QDropEvent *e);
61  void startDrag(Qt::DropActions supportedActions);
62 
63 signals:
64  void objectDropped(QString);
65 
66 private:
67  ScListWidgetDelegate* delegate;
68 };
69 
70 class SCRIBUS_API InlinePalette : public ScDockPalette
71 {
72  Q_OBJECT
73 
74 public:
75  InlinePalette(QWidget* parent);
76  ~InlinePalette() {};
77  void setMainWindow(ScribusMainWindow *mw);
78  void setDoc(ScribusDoc *);
79  void unsetDoc();
80  void editingStart(int itemID);
81  void editingFinished();
82  void updateItemList();
83 
84  virtual void changeEvent(QEvent *e);
85 
86 public slots:
87  void handleContextMenue(QPoint p);
88  void handlePasteToItem();
89  void handleEditItem();
90  void handleDoubleClick(QListWidgetItem *item);
91  void handleDeleteItem();
92  void handleUpdateRequest(int);
93  void languageChange();
94 
95 signals:
96  void startEdit(int);
97  void endEdit();
98  void objectDropped(QString);
99 
100 protected:
101  InlineView *InlineViewWidget;
102  QVBoxLayout* PaletteLayout;
103  ScribusDoc *m_doc;
104  ScribusMainWindow *m_scMW;
105  int actItem;
106  int currentEditedItem;
107 };
108 
109 #endif
Definition: scdockpalette.h:38
This Class is the base class for your application. It sets up the main window and providing a menubar...
Definition: scribus.h:123
the Document Class
Definition: scribusdoc.h:90
Definition: inlinepalette.h:49
Definition: inlinepalette.h:70
Definition: sclistwidgetdelegate.h:29