3 * Copyright (C) 2016-2020 William Morrow
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published
7 * by the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 * You should have received a copy of the GNU General Public
16 * License along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
21 #ifndef __PROBEPREFS_H__
22 #define __PROBEPREFS_H__
24 #include "bcwindowbase.h"
27 #include "bclistbox.h"
28 #include "bclistboxitem.h"
30 #include "preferences.inc"
31 #include "preferencesthread.inc"
33 #include "probeprefs.inc"
36 class FileProbeDialog : public BC_DialogThread
39 PreferencesWindow *pwindow;
41 ProbeEditWindow *pb_window;
43 void handle_close_event(int result);
45 FileProbeDialog(PreferencesWindow *pwindow);
55 ProbePref(const char *nm, int armed);
59 class ProbeUpButton : public BC_GenericButton {
61 ProbeEditWindow *pb_window;
64 ProbeUpButton(ProbeEditWindow *pb_window, int x, int y);
68 class ProbeDownButton : public BC_GenericButton {
70 ProbeEditWindow *pb_window;
73 ProbeDownButton(ProbeEditWindow *pb_window, int x, int y);
77 class ProbeEnabled : public BC_CheckBox
80 ProbeEditWindow *pb_window;
83 ProbeEnabled(ProbeEditWindow *pb_window, int x, int y);
87 class ProbePrefItem : public BC_ListBoxItem {
89 ProbeEditWindow *pb_window;
91 void set_armed(int armed);
93 ProbePrefItem(ProbeEditWindow *pb_window, ProbePref *pref);
97 class ProbePrefList : public BC_ListBox
100 ProbeEditWindow *pb_window;
102 int selection_changed();
104 ProbePrefList(ProbeEditWindow *pb_window, int x, int y);
108 class ProbeEditOK : public BC_OKButton
111 ProbeEditWindow *pb_window;
114 ProbeEditOK(ProbeEditWindow *pb_window);
118 class ProbeEditWindow : public BC_Window
121 ProbeUpButton *probe_up_button;
122 ProbeDownButton *probe_down_button;
123 ProbeEnabled *probe_enabled;
124 ArrayList<ProbePrefItem *> probe_items;
125 ProbePrefList *probe_list;
126 BC_Pixmap *pb_enabled, *pb_disabled;
128 void create_objects();
131 ProbeEditWindow(FileProbeDialog *pb_dialog, int x, int y);
134 FileProbeDialog *pb_dialog;