summaryrefslogtreecommitdiff
path: root/ui/qt/funnel_statistics.h
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-07-03 15:52:49 -0500
committerGerald Combs <gerald@wireshark.org>2015-07-07 20:49:30 +0000
commite91ca72a445d51b71f958f140e2eb89747f499ff (patch)
tree8447adabdba8623cd8e045bc7a3d3d73fca54130 /ui/qt/funnel_statistics.h
parente9622175f7aee7dbeff6e97c9ac6ab78460e239a (diff)
downloadwireshark-e91ca72a445d51b71f958f140e2eb89747f499ff.tar.gz
Qt: Add initial Lua support.
Add a FunnelStatistics class, which is the main interface between the Qt UI and the Funnel API. Add FunnelTextDialog, which implements the text_window, ProgDlg, menu, and other routines. Add FunnelStringDialog, which implements dlg_new. We currently only support "Tools" menu items (MENU_TOOLS_UNSORTED, aka REGISTER_TOOLS_GROUP_UNSORTED). Add a disabled placeholder to the "Tools" menu in case we don't load any scripts. Use "struct progdlg" instead of needlessly casting to funnel_progress_window_t. To do: - Add support for MENU_STAT_UNSORTED, MENU_STAT_GENERIC, etc. - Make the firewall config generator a Lua script? - Add FunnelGraphDialog? It seems like it would be useful to make QCustomPlot accessible to Lua scripts. Ping-Bug: 9845 Change-Id: Iefff02e9032ed1853666f7902509ed08b431e7a7 Reviewed-on: https://code.wireshark.org/review/9523 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui/qt/funnel_statistics.h')
-rw-r--r--ui/qt/funnel_statistics.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/ui/qt/funnel_statistics.h b/ui/qt/funnel_statistics.h
new file mode 100644
index 0000000000..ba8e2bf31d
--- /dev/null
+++ b/ui/qt/funnel_statistics.h
@@ -0,0 +1,76 @@
+/* funnel_statistics.cpp
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * 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.
+ *
+ * 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, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef FUNNELSTATISTICS_H
+#define FUNNELSTATISTICS_H
+
+#include <QObject>
+
+#include "capture_file.h"
+
+#include "funnel_text_dialog.h"
+
+struct _funnel_ops_t;
+struct _funnel_progress_window_t;
+struct progdlg;
+
+class FunnelStatistics : public QObject
+{
+ Q_OBJECT
+public:
+ explicit FunnelStatistics(QObject *parent, CaptureFile &cf);
+ void retapPackets();
+ struct progdlg *progressDialogNew(const gchar *task_title, const gchar *item_title, gboolean terminate_is_stop, gboolean *stop_flag);
+ const char *displayFilter();
+ void emitSetDisplayFilter(const QString &filter);
+ void reloadPackets();
+ void emitApplyDisplayFilter();
+ void emitOpenCaptureFile(QString &cf_path, QString &filter);
+
+signals:
+ void setDisplayFilter(const QString &filter);
+ void applyDisplayFilter();
+ void openCaptureFile(QString &cf_path, QString &filter);
+
+public slots:
+ void funnelActionTriggered();
+ void displayFilterTextChanged(const QString &filter);
+
+private:
+ struct _funnel_ops_t *funnel_ops_;
+ CaptureFile &capture_file_;
+ QByteArray display_filter_;
+};
+
+#endif // FUNNELSTATISTICS_H
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */