2 /// \file DatabaseSelectDlg.h
3 /// Dialog wrapper class for user selection of device databases
7 Copyright (C) 2007-2012, Net Direct Inc. (http://www.netdirect.ca/)
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU General Public License in the COPYING file at the
19 root directory of this project for more details.
22 #ifndef __BARRYBACKUP_DATABASESELECTDLG_H__
23 #define __BARRYBACKUP_DATABASESELECTDLG_H__
27 #include <barry/barry.h>
30 class DatabaseDatabase
;
33 class DatabaseSelectDlg
35 class Columns
: public Gtk::TreeModelColumnRecord
38 Gtk::TreeModelColumn
<bool> m_selected
;
39 Gtk::TreeModelColumn
<Glib::ustring
> m_name
;
49 bool m_backupMode
; // if true, the checkbox is visible
52 std::auto_ptr
<Gtk::Dialog
> m_pDialog
;
53 Gtk::Label
*m_pTopLabel
;
54 Gtk::CheckButton
*m_pAutoSelectAllCheck
;
55 Gtk::TreeView
*m_pTree
;
57 Glib::RefPtr
<Gtk::ListStore
> m_pListStore
;
60 Barry::ConfigFile::DBListType m_selections
;
61 bool m_auto_select_all
; // holds checkbox setting
64 void LoadTree(const Barry::DatabaseDatabase
&dbdb
);
65 bool IsSelected(const std::string
&dbname
);
66 void SaveSelections();
69 DatabaseSelectDlg(const Barry::DatabaseDatabase
&dbdb
,
70 const Barry::ConfigFile::DBListType
&selections
,
72 const Glib::ustring
&label
, bool backup_mode
);
75 const Barry::ConfigFile::DBListType
& GetSelections() const { return m_selections
; }
76 bool AutoSelectAll() const { return m_auto_select_all
; }
82 void on_deselect_all();