diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-15 18:34:54 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-15 18:34:54 +0000 |
commit | 8805e6b17b1460f3316ccb28629e8ad78e4b9c2c (patch) | |
tree | dc9b702962ecf0060cc473397b9f80268c2456c9 /kbarcode/labeleditor.h | |
download | kbarcode-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.h | 251 |
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 |