Nemiver  0.3
nmv-option-utils.h
Go to the documentation of this file.
1 /*
2  *This file is part of the Nemiver project
3  *
4  *Nemiver is free software; you can redistribute
5  *it and/or modify it under the terms of
6  *the GNU General Public License as published by the
7  *Free Software Foundation; either version 2,
8  *or (at your option) any later version.
9  *
10  *Nemiver is distributed in the hope that it will
11  *be useful, but WITHOUT ANY WARRANTY;
12  *without even the implied warranty of
13  *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  *See the GNU General Public License for more details.
15  *
16  *You should have received a copy of the
17  *GNU General Public License along with Nemiver;
18  *see the file COPYING.
19  *If not, write to the Free Software Foundation,
20  *Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21  *
22  *See COPYRIGHT file copyright information.
23  */
24 #ifndef __NMV_OPTION_UTILS_H__
25 #define __NMV_OPTION_UTILS_H__
26 
27 #include <glibmm.h>
28 #include "nmv-ustring.h"
29 
31 
32 namespace nemiver {
33 namespace options_utils {
34 
35 class OptionDesc {
36  UString m_long_name;
37  gchar m_short_name;
38  UString m_description;
39  UString m_arg_description;
40  enum Glib::OptionEntry::Flags m_flags;
41 
42 public:
44  m_short_name (0),
45  m_flags ((Glib::OptionEntry::Flags)0)
46  {}
47 
48  OptionDesc (const UString &a_long_name,
49  const gchar a_short_name,
50  const UString &a_description,
51  const UString &a_arg_description,
52  const Glib::OptionEntry::Flags a_flags) :
53  m_long_name (a_long_name),
54  m_short_name (a_short_name),
55  m_description (a_description),
56  m_arg_description (a_arg_description),
57  m_flags (a_flags)
58  {}
59 
60  const UString& long_name () {return m_long_name;}
61  void long_name (const UString &a_in) {m_long_name = a_in;}
62 
63  gchar short_name () {return m_short_name;}
64  void short_name (gchar a_in) {m_short_name = a_in;}
65 
66  const UString& description () {return m_description;}
67  void description (const UString &a_in) {m_description = a_in;}
68 
69  const UString& arg_description () {return m_arg_description;}
70  void arg_description (const UString &a_in) {m_arg_description = a_in;}
71 
72  Glib::OptionEntry::Flags flags () {return m_flags;}
73  void flags (Glib::OptionEntry::Flags a_in) {m_flags = a_in;}
74 }; //end class OptionDesc
75 
76 void option_desc_to_option (OptionDesc &a_desc,
77  Glib::OptionEntry &a_option);
78 
79 void append_options_to_group (OptionDesc *a_descs,
80  int a_number_of_options,
81  Glib::OptionGroup &a_group);
82 }//end namespace nemiver
83 }//end namespace options_utils
84 
85 #endif //__NMV_OPTION_UTILS_H__
86 
nemiver
Definition: nmv-address.h:31
nemiver::options_utils::OptionDesc::flags
Glib::OptionEntry::Flags flags()
Definition: nmv-option-utils.h:72
nemiver::options_utils::OptionDesc::description
const UString & description()
Definition: nmv-option-utils.h:66
nmv-ustring.h
nemiver::options_utils::OptionDesc::long_name
void long_name(const UString &a_in)
Definition: nmv-option-utils.h:61
nemiver::options_utils::OptionDesc::arg_description
const UString & arg_description()
Definition: nmv-option-utils.h:69
nemiver::options_utils::OptionDesc::long_name
const UString & long_name()
Definition: nmv-option-utils.h:60
nemiver::common::UString
Definition: nmv-ustring.h:45
nemiver::options_utils::option_desc_to_option
void option_desc_to_option(OptionDesc &a_desc, Glib::OptionEntry &a_option)
nemiver::options_utils::OptionDesc::flags
void flags(Glib::OptionEntry::Flags a_in)
Definition: nmv-option-utils.h:73
nemiver::options_utils::OptionDesc::arg_description
void arg_description(const UString &a_in)
Definition: nmv-option-utils.h:70
nemiver::options_utils::OptionDesc
Definition: nmv-option-utils.h:35
nemiver::options_utils::OptionDesc::description
void description(const UString &a_in)
Definition: nmv-option-utils.h:67
nemiver::options_utils::append_options_to_group
void append_options_to_group(OptionDesc *a_descs, int a_number_of_options, Glib::OptionGroup &a_group)
nemiver::options_utils::OptionDesc::short_name
gchar short_name()
Definition: nmv-option-utils.h:63
nemiver::options_utils::OptionDesc::OptionDesc
OptionDesc()
Definition: nmv-option-utils.h:43
nemiver::options_utils::OptionDesc::short_name
void short_name(gchar a_in)
Definition: nmv-option-utils.h:64
Glib
Definition: nmv-i-workbench.h:44
nemiver::options_utils::OptionDesc::OptionDesc
OptionDesc(const UString &a_long_name, const gchar a_short_name, const UString &a_description, const UString &a_arg_description, const Glib::OptionEntry::Flags a_flags)
Definition: nmv-option-utils.h:48