summaryrefslogtreecommitdiffstats
path: root/kbarcode/labeleditor.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-15 18:34:54 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-15 18:34:54 +0000
commit8805e6b17b1460f3316ccb28629e8ad78e4b9c2c (patch)
treedc9b702962ecf0060cc473397b9f80268c2456c9 /kbarcode/labeleditor.h
downloadkbarcode-8805e6b17b1460f3316ccb28629e8ad78e4b9c2c.tar.gz
kbarcode-8805e6b17b1460f3316ccb28629e8ad78e4b9c2c.zip
Added abandoned KDE3 version of kbarcode
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kbarcode@1090667 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kbarcode/labeleditor.h')
-rw-r--r--kbarcode/labeleditor.h251
1 files changed, 251 insertions, 0 deletions
diff --git a/kbarcode/labeleditor.h b/kbarcode/labeleditor.h
new file mode 100644
index 0000000..9bd9b30
--- /dev/null
+++ b/kbarcode/labeleditor.h
@@ -0,0 +1,251 @@
+/***************************************************************************
+ labeleditor.h - description
+ -------------------
+ begin : Die Apr 23 2002
+ copyright : (C) 2002 by Dominik Seichter
+ email : domseichter@web.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef LABELEDITOR_H
+#define LABELEDITOR_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "sqltables.h"
+#include "labelutils.h"
+#include "definition.h"
+#include "dsmainwindow.h"
+#include "xmlutils.h"
+#include "editoriface.h"
+
+#include <kdialogbase.h>
+#include <qdialog.h>
+#include <qmap.h>
+
+class BatchPrinter;
+class KURL;
+class KAction;
+class KActionMenu;
+class KActionSeparator;
+class KToggleAction;
+class KRecentFilesAction;
+class KToolBarPopupAction;
+class KListBox;
+class KMenuBar;
+class KPopupMenu;
+class KRuler;
+class KToolBar;
+class KCommandHistory;
+class MyCanvasText;
+class MyCanvasRectangle;
+class MyCanvasView;
+class BarcodeItem;
+class MyCanvas;
+class QCanvasItemList;
+class QCheckBox;
+class KComboBox;
+class QDockArea;
+class QDockWindow;
+class QGroupBox;
+class QLabel;
+class QImage;
+class QHBoxLayout;
+class QVBoxLayout;
+class QPoint;
+class QRect;
+class QPaintDevice;
+class QString;
+class KPushButton;
+class KPrinter;
+class QCanvasItem;
+class TCanvasItem;
+class RectItem;
+class LineItem;
+
+class TokenProvider;
+/** The LabelEditor is a graphical, easy to use label designer.
+ * It provides all the function necessary to create colorful labels
+ * and save them. Labels can also be printed directly, but without database
+ * support. Use Batchprinting (LabelPrinter) for this.
+ */
+class LabelEditor : public DSMainWindow, public EditorIface, private LabelUtils, private XMLUtils {
+ Q_OBJECT
+ public:
+ enum ELabelEditorMode {
+ eCreateNewLabel,
+ eLoadLabel
+ };
+
+ LabelEditor( QWidget *parent=0, QString _filename = QString::null,
+ const char *name="labeleditor", WFlags f = WType_TopLevel | WDestructiveClose );
+ ~LabelEditor();
+ bool startupDlg( ELabelEditorMode mode, QString f = QString::null );
+
+ /**
+ * returns the filename of the currently loaded label.
+ */
+ const QString fileName() const;
+
+ public slots:
+ void print();
+ void printBCP();
+ void printImage();
+
+ private:
+
+ /** Creates a KCommandHistory object which will be
+ * pointed to by history.
+ * Make sure to delete history by yourself when needed.
+ */
+ void createCommandHistory();
+ /** Create undo and redo actions and plug them into
+ * menus and toolbars. They have to be regenerated
+ * when ever createCommandHistory was called.
+ */
+ void createCommandHistoryActions();
+
+ QString getCustomerName( int mode = 0, QString text = "" );
+ void clearLabel();
+ //void setupBarcode( BarcodeItem* bcode );
+ void insertText( QString caption );
+ //NY35
+ void insertTextLine( QString caption );
+ //NY35
+ void setupActions();
+ void enableActions();
+ bool isChanged(); // if the current document has been changed
+ void batchPrint( BatchPrinter* batch, int copies, int mode );
+ void setupContextMenu();
+
+ private slots:
+ void startEditor();
+ bool open();
+ bool openUrl( const QString & url );
+ bool save();
+ bool saveas();
+ bool save( QString url );
+ void save( QIODevice* device );
+ bool newLabel();
+ void insertBarcode();
+ void insertPicture();
+ void insertText();
+ void insertDataText();
+ //NY36
+ void insertTextLine();
+ //NY36
+ void insertRect();
+ void insertCircle();
+ void insertLine();
+
+ void changeDes();
+ void changeSize();
+ void updateInfo();
+ void doubleClickedItem( TCanvasItem* item );
+ void showContextMenu( QPoint pos );
+ void doubleClickedCurrent();
+ void spellCheck();
+ void centerVertical();
+ void centerHorizontal();
+ void raiseCurrent();
+ void lowerCurrent();
+ void onTopCurrent();
+ void backCurrent();
+ void preview();
+ void toggleGrid();
+ void cut();
+ void copy();
+ void paste();
+ void startBarcodeGen();
+ void saveConfig();
+ void loadConfig();
+ void startLoadRecentEditor( const KURL& url );
+ void startLoadEditor();
+ void batchPrint();
+ void closeLabel();
+ void setEdited();
+ void launchAddressBook();
+ void lockItem();
+
+ protected:
+ void closeEvent( QCloseEvent* e );
+
+ KCommandHistory* history;
+
+ KAction* saveAct;
+ KAction* saveAsAct;
+ KAction* exportAct;
+ KAction* descriptionAct;
+ KAction* printAct;
+ KAction* bcpAct;
+ KAction* imgAct;
+ KAction* changeSizeAct;
+ KAction* deleteAct;
+ KAction* editPropAct;
+ KAction* barcodeAct;
+ KAction* rectAct;
+ KAction* circleAct;
+ KAction* lineAct;
+ KAction* pictureAct;
+ KAction* previewAct;
+ KAction* textAct;
+ KAction* textDataAct;
+ KAction* textLineAct;
+ KAction* spellAct;
+ KAction* cutAct;
+ KAction* copyAct;
+ KAction* pasteAct;
+ KAction* undoAct;
+ KAction* redoAct;
+ KAction* closeLabelAct;
+ KAction* addressBookAct;
+ KAction* selectAllAct;
+ KAction* deSelectAllAct;
+
+ /**
+ * Undo/Redo actins get pluged into this menu
+ */
+ KPopupMenu* editMenu;
+ KPopupMenu* exportMenu;
+ KPopupMenu* m_mnuContext;
+
+ KToolBar* tools;
+
+ KToggleAction* gridAct;
+
+ KComboBox* comboScale;
+
+ KRecentFilesAction* recentAct;
+ KActionSeparator* sep;
+ KToolBarPopupAction* listAct;
+ MyCanvas* c;
+ MyCanvasView* cv;
+
+ Definition* d;
+ TokenProvider* m_token;
+
+ // Label info's:
+ QString description; // description
+ QString filename; // current file
+
+ KListBox* listFields;
+ KPushButton* buttonText;
+
+ QVBoxLayout* pageLayout;
+
+ QMap<QString,QString> fields;
+
+ bool m_edited;
+};
+
+#endif