2 /// \file DatabaseSelectDlg.h
3 /// Dialog wrapper class for user selection of device databases
7 Copyright (C) 2007-2008, 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 "ConfigFile.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 std::auto_ptr
<Gtk::Dialog
> m_pDialog
;
50 Gtk::Label
*m_pTopLabel
;
51 Gtk::TreeView
*m_pTree
;
53 Glib::RefPtr
<Gtk::ListStore
> m_pListStore
;
56 ConfigFile::DBListType m_selections
;
59 void LoadTree(const Barry::DatabaseDatabase
&dbdb
);
60 bool IsSelected(const std::string
&dbname
);
61 void SaveSelections();
64 DatabaseSelectDlg(const Barry::DatabaseDatabase
&dbdb
,
65 const ConfigFile::DBListType
&selections
,
66 const Glib::ustring
&label
);
69 const ConfigFile::DBListType
& GetSelections() const { return m_selections
; }
75 void on_deselect_all();