zint-barcode-generator/frontend_qt/mainwindow.h

173 lines
5.9 KiB
C
Raw Normal View History

2008-07-18 10:49:14 -04:00
/***************************************************************************
2009-04-26 18:04:51 -04:00
* Copyright (C) 2008 by BogDan Vatra <bogdan@licentia.eu> *
2020-04-06 11:37:34 -04:00
* Copyright (C) 2009-2020 by Robin Stuart <rstuart114@gmail.com> *
2008-07-18 10:49:14 -04:00
* *
* This program is free software: you can redistribute it and/or modify *
2008-07-18 10:49:14 -04:00
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
2008-07-18 10:49:14 -04:00
* (at your option) any later version. *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
2008-07-18 10:49:14 -04:00
***************************************************************************/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui>
#include <QGraphicsItem>
2009-05-21 17:00:23 -04:00
#include <QMainWindow>
2016-12-14 18:33:17 -05:00
#include <QGraphicsScene>
2008-07-18 10:49:14 -04:00
#include "ui_mainWindow.h"
#include "barcodeitem.h"
2009-05-21 17:00:23 -04:00
class QLabel;
2009-05-19 10:05:26 -04:00
2008-07-18 10:49:14 -04:00
class MainWindow : public QWidget, private Ui::mainWindow
{
Q_OBJECT
2008-07-18 10:49:14 -04:00
Q_ENUMS(BarcodeTypes)
2008-07-18 10:49:14 -04:00
public:
enum BarcodeTypes
{
AUSREDIRECT = 68,
AUSREPLY = 66,
AUSROUTE = 67,
AUSPOST = 63,
AZTEC = 92,
AZRUNE = 128,
CHANNEL = 140,
CODABAR = 18,
CODABLOCK = 74,
CODE11 = 1,
CODE128 = 20,
CODE16K = 23,
C25LOGIC = 6,
C25IATA = 4,
C25IND = 7,
C25INTER = 3,
C25MATRIX = 2,
CODE32 = 129,
CODE39 = 8,
EXCODE39 = 9,
CODE49 = 24,
CODE93 = 25,
CODE_ONE = 141,
DAFT = 93,
DATAMATRIX = 71,
DPIDENT = 22,
DPLEIT = 21,
DOTCODE = 115,
2020-08-03 12:27:42 -04:00
DPD = 96,
KIX = 90,
EAN14 = 72,
EANX = 13,
FIM = 49,
FLAT = 28,
GRIDMATRIX = 142,
RSS_EXP = 31,
RSS_EXPSTACK = 81,
RSS_LTD = 30,
RSS14 = 29,
RSS14STACK = 79,
RSS14STACK_OMNI = 80,
HANXIN = 116,
ISBNX = 69,
ITF14 = 89,
JAPANPOST = 76,
KOREAPOST = 77,
LOGMARS = 50,
MAXICODE = 57,
MICROPDF417 = 84,
MICROQR = 97,
MSI_PLESSEY = 47,
NVE18 = 75,
PDF417 = 55,
PHARMA = 51,
PHARMA_TWO = 53,
PZN = 52,
PLANET = 82,
POSTNET = 40,
QRCODE = 58,
RMQR = 145,
RM4SCC = 70,
MAILMARK = 121,
TELEPEN = 32,
TELEPEN_NUM = 87,
PLESSEY = 86,
2020-04-06 11:37:34 -04:00
ULTRA = 144,
UPCA = 34,
UPCE = 37,
UPNQR = 143,
ONECODE = 85,
VIN = 73
};
2008-07-18 10:49:14 -04:00
public:
MainWindow(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowFlags());
~MainWindow();
2008-07-18 10:49:14 -04:00
2009-05-21 17:00:23 -04:00
2008-07-18 10:49:14 -04:00
public slots:
void update_preview();
void change_options();
void on_fgcolor_clicked();
void on_bgcolor_clicked();
void composite_ui_set();
void composite_ean_check();
void maxi_primary();
void change_print_scale();
void change_cmyk();
void autoheight_ui_set();
void HRTShow_ui_set();
void dotty_ui_set();
void on_encoded();
void filter_symbologies();
2009-05-19 10:05:26 -04:00
2016-12-14 18:33:17 -05:00
protected:
void resizeEvent(QResizeEvent *event);
void combobox_item_enabled(QComboBox *comboBox, int index, bool enabled);
void upcean_addon_gap(QComboBox *comboBox, QLabel *label, int base);
void set_gs1_mode(bool gs1_mode);
const char *get_setting_name(int symbology);
int get_button_group_index(const QStringList &children);
void set_radiobutton_from_setting(QSettings &settings, const QString &setting, const QStringList &children, int default_val = 0);
int get_combobox_index(const QString &child);
void set_combobox_from_setting(QSettings &settings, const QString &setting, const QString &child, int default_val = 0);
int get_checkbox_val(const QString &child);
void set_checkbox_from_setting(QSettings &settings, const QString &setting, const QString &child, int default_val = 0);
float get_doublespinbox_val(const QString &child);
void set_doublespinbox_from_setting(QSettings &settings, const QString &setting, const QString &child, float default_val = 0);
QString get_lineedit_val(const QString &child);
void set_lineedit_from_setting(QSettings &settings, const QString &setting, const QString &child, const char *default_val = "");
int get_spinbox_val(const QString &child);
void set_spinbox_from_setting(QSettings &settings, const QString &setting, const QString &child, int default_val = 0);
void save_sub_settings(QSettings &settings, int symbology);
void load_sub_settings(QSettings &settings, int symbology);
2017-10-23 15:37:52 -04:00
2009-05-19 10:05:26 -04:00
private slots:
bool save();
void about();
void quit_now();
void reset_view();
int open_data_dialog();
int open_sequence_dialog();
2017-05-15 16:12:19 -04:00
void copy_to_clipboard_svg();
void copy_to_clipboard_bmp();
2008-07-18 10:49:14 -04:00
private:
QColor m_fgcolor,m_bgcolor;
BarcodeItem m_bc;
QWidget *m_optionWidget;
QGraphicsScene *scene;
int m_symbology;
2008-07-18 10:49:14 -04:00
};
#endif