ekiga r7272 - trunk/lib/engine/framework
- From: jpuydt svn gnome org
- To: svn-commits-list gnome org
- Subject: ekiga r7272 - trunk/lib/engine/framework
- Date: Tue, 21 Oct 2008 16:57:57 +0000 (UTC)
Author: jpuydt
Date: Tue Oct 21 16:57:57 2008
New Revision: 7272
URL: http://svn.gnome.org/viewvc/ekiga?rev=7272&view=rev
Log:
Allow form fields to be advanced in the framework, first step to fix bug #556324.
Modified:
trunk/lib/engine/framework/form-builder.cpp
trunk/lib/engine/framework/form-builder.h
trunk/lib/engine/framework/form-dumper.cpp
trunk/lib/engine/framework/form-dumper.h
trunk/lib/engine/framework/form-visitor.h
Modified: trunk/lib/engine/framework/form-builder.cpp
==============================================================================
--- trunk/lib/engine/framework/form-builder.cpp (original)
+++ trunk/lib/engine/framework/form-builder.cpp Tue Oct 21 16:57:57 2008
@@ -74,13 +74,15 @@
visitor.boolean (iter_bool->name,
iter_bool->description,
- iter_bool->value);
+ iter_bool->value,
+ iter_bool->advanced);
iter_bool++;
break;
case TEXT:
- visitor.text (iter_text->name, iter_text->description, iter_text->value);
+ visitor.text (iter_text->name, iter_text->description,
+ iter_text->value, iter_text->advanced);
iter_text++;
break;
@@ -88,7 +90,8 @@
visitor.private_text (iter_private_text->name,
iter_private_text->description,
- iter_private_text->value);
+ iter_private_text->value,
+ iter_private_text->advanced);
iter_private_text++;
break;
@@ -96,7 +99,8 @@
visitor.multi_text (iter_multi_text->name,
iter_multi_text->description,
- iter_multi_text->value);
+ iter_multi_text->value,
+ iter_multi_text->advanced);
iter_multi_text++;
break;
@@ -105,7 +109,8 @@
visitor.single_choice (iter_single_choice->name,
iter_single_choice->description,
iter_single_choice->value,
- iter_single_choice->choices);
+ iter_single_choice->choices,
+ iter_single_choice->advanced);
iter_single_choice++;
break;
@@ -114,7 +119,8 @@
visitor.multiple_choice (iter_multiple_choice->name,
iter_multiple_choice->description,
iter_multiple_choice->values,
- iter_multiple_choice->choices);
+ iter_multiple_choice->choices,
+ iter_multiple_choice->advanced);
iter_multiple_choice++;
break;
@@ -123,7 +129,8 @@
visitor.editable_set (iter_editable_set->name,
iter_editable_set->description,
iter_editable_set->values,
- iter_editable_set->proposed_values);
+ iter_editable_set->proposed_values,
+ iter_editable_set->advanced);
iter_editable_set++;
break;
@@ -265,36 +272,40 @@
void
Ekiga::FormBuilder::boolean (const std::string name,
const std::string description,
- bool value)
+ bool value,
+ bool advanced)
{
- booleans.push_back (BooleanField (name, description, value));
+ booleans.push_back (BooleanField (name, description, value, advanced));
ordering.push_back (BOOLEAN);
}
void
Ekiga::FormBuilder::text (const std::string name,
const std::string description,
- const std::string value)
+ const std::string value,
+ bool advanced)
{
- texts.push_back (TextField (name, description, value));
+ texts.push_back (TextField (name, description, value, advanced));
ordering.push_back (TEXT);
}
void
Ekiga::FormBuilder::private_text (const std::string name,
const std::string description,
- const std::string value)
+ const std::string value,
+ bool advanced)
{
- private_texts.push_back (TextField (name, description, value));
+ private_texts.push_back (TextField (name, description, value, advanced));
ordering.push_back (PRIVATE_TEXT);
}
void
Ekiga::FormBuilder::multi_text (const std::string name,
const std::string description,
- const std::string value)
+ const std::string value,
+ bool advanced)
{
- multi_texts.push_back (MultiTextField (name, description, value));
+ multi_texts.push_back (MultiTextField (name, description, value, advanced));
ordering.push_back (MULTI_TEXT);
}
@@ -302,9 +313,11 @@
Ekiga::FormBuilder::single_choice (const std::string name,
const std::string description,
const std::string value,
- const std::map<std::string, std::string> choices)
+ const std::map<std::string, std::string> choices,
+ bool advanced)
{
- single_choices.push_back (SingleChoiceField (name, description, value, choices));
+ single_choices.push_back (SingleChoiceField (name, description,
+ value, choices, advanced));
ordering.push_back (SINGLE_CHOICE);
}
@@ -312,10 +325,11 @@
Ekiga::FormBuilder::multiple_choice (const std::string name,
const std::string description,
const std::set<std::string> values,
- const std::map<std::string, std::string> choices)
+ const std::map<std::string, std::string> choices,
+ bool advanced)
{
multiple_choices.push_back (MultipleChoiceField (name, description,
- values, choices));
+ values, choices, advanced));
ordering.push_back (MULTIPLE_CHOICE);
}
@@ -323,9 +337,10 @@
Ekiga::FormBuilder::editable_set (const std::string name,
const std::string description,
const std::set<std::string> values,
- const std::set<std::string> proposed_values)
+ const std::set<std::string> proposed_values,
+ bool advanced)
{
- editable_sets.push_back (EditableSetField (name, description,
- values, proposed_values));
+ editable_sets.push_back (EditableSetField (name, description, values,
+ proposed_values, advanced));
ordering.push_back (EDITABLE_SET);
}
Modified: trunk/lib/engine/framework/form-builder.h
==============================================================================
--- trunk/lib/engine/framework/form-builder.h (original)
+++ trunk/lib/engine/framework/form-builder.h Tue Oct 21 16:57:57 2008
@@ -90,34 +90,41 @@
void boolean (const std::string name,
const std::string description,
- bool value);
+ bool value,
+ bool advanced = false);
void text (const std::string text,
const std::string description,
- const std::string value);
+ const std::string value,
+ bool advanced = false);
void private_text (const std::string text,
const std::string description,
- const std::string value);
+ const std::string value,
+ bool advanced = false);
void multi_text (const std::string text,
const std::string description,
- const std::string value);
+ const std::string value,
+ bool advanced = false);
void single_choice (const std::string name,
const std::string description,
const std::string value,
- const std::map<std::string, std::string> choices);
+ const std::map<std::string, std::string> choices,
+ bool advanced = false);
void multiple_choice (const std::string name,
const std::string description,
const std::set<std::string> values,
- const std::map<std::string, std::string> choices);
+ const std::map<std::string, std::string> choices,
+ bool advanced = false);
void editable_set (const std::string name,
const std::string description,
const std::set<std::string> values,
- const std::set<std::string> proposed_values);
+ const std::set<std::string> proposed_values,
+ bool advanced = false);
private:
struct HiddenField
@@ -128,47 +135,54 @@
const std::string name;
const std::string value;
+ bool advanced;
};
struct BooleanField
{
BooleanField (const std::string _name,
const std::string _description,
- bool _value): name(_name), description(_description),
- value(_value)
+ bool _value,
+ bool _advanced): name(_name), description(_description),
+ value(_value), advanced(_advanced)
{}
const std::string name;
const std::string description;
bool value;
+ bool advanced;
};
struct TextField
{
TextField (const std::string _name,
const std::string _description,
- const std::string _value): name(_name),
- description(_description),
- value(_value)
+ const std::string _value,
+ bool _advanced): name(_name),
+ description(_description),
+ value(_value), advanced(_advanced)
{}
const std::string name;
const std::string description;
const std::string value;
+ bool advanced;
};
struct MultiTextField
{
MultiTextField (const std::string _name,
const std::string _description,
- const std::string _value): name(_name),
- description(_description),
- value(_value)
+ const std::string _value,
+ bool _advanced): name(_name),
+ description(_description),
+ value(_value), advanced(_advanced)
{}
const std::string name;
const std::string description;
const std::string value;
+ bool advanced;
};
struct SingleChoiceField
@@ -176,15 +190,17 @@
SingleChoiceField (const std::string _name,
const std::string _description,
const std::string _value,
- const std::map<std::string, std::string> _choices):
+ const std::map<std::string, std::string> _choices,
+ bool _advanced):
name(_name), description(_description),
- value(_value), choices(_choices)
+ value(_value), choices(_choices), advanced(_advanced)
{}
const std::string name;
const std::string description;
const std::string value;
const std::map<std::string, std::string> choices;
+ bool advanced;
};
@@ -193,15 +209,17 @@
MultipleChoiceField (const std::string _name,
const std::string _description,
const std::set<std::string> _values,
- const std::map<std::string, std::string> _choices):
+ const std::map<std::string, std::string> _choices,
+ bool _advanced):
name(_name), description(_description),
- values(_values), choices(_choices)
+ values(_values), choices(_choices), advanced(_advanced)
{}
const std::string name;
const std::string description;
const std::set<std::string> values;
const std::map<std::string, std::string> choices;
+ bool advanced;
};
struct EditableSetField
@@ -209,15 +227,17 @@
EditableSetField (const std::string _name,
const std::string _description,
const std::set<std::string> _values,
- const std::set<std::string> _proposed_values):
+ const std::set<std::string> _proposed_values,
+ bool _advanced):
name(_name), description(_description),
- values(_values), proposed_values(_proposed_values)
+ values(_values), proposed_values(_proposed_values), advanced(_advanced)
{}
const std::string name;
const std::string description;
const std::set<std::string> values;
const std::set<std::string> proposed_values;
+ bool advanced;
};
typedef enum {
Modified: trunk/lib/engine/framework/form-dumper.cpp
==============================================================================
--- trunk/lib/engine/framework/form-dumper.cpp (original)
+++ trunk/lib/engine/framework/form-dumper.cpp Tue Oct 21 16:57:57 2008
@@ -79,7 +79,8 @@
void
Ekiga::FormDumper::boolean (const std::string name,
const std::string description,
- bool value)
+ bool value,
+ bool advanced)
{
out << "Boolean field " << name
<< " (default value: ";
@@ -88,48 +89,62 @@
else
out << "false";
out << "):" << std::endl
- << description << std::endl;
+ << description
+ << (advanced?"[advanced]":"")
+ << std::endl;
}
void
Ekiga::FormDumper::text (const std::string name,
const std::string description,
- const std::string value)
+ const std::string value,
+ bool advanced)
{
out << "Text field " << name
<< " (default value: " << value << "): " << std::endl
- << description << std::endl;
+ << description
+ << (advanced?"[advanced]":"")
+ << std::endl;
}
void
Ekiga::FormDumper::private_text (const std::string name,
const std::string description,
- const std::string value)
+ const std::string value,
+ bool advanced)
{
out << "Private text field " << name
<< " (default value: " << value << "): " << std::endl
- << description << std::endl;
+ << description
+ << (advanced?"[advanced]":"")
+ << std::endl;
}
void
Ekiga::FormDumper::multi_text (const std::string name,
const std::string description,
- const std::string value)
+ const std::string value,
+ bool advanced)
{
out << "Multiline text field " << name
<< " (default value: " << value << "): " << std::endl
- << description << std::endl;
+ << description
+ << (advanced?"[advanced]":"")
+ << std::endl;
}
void
Ekiga::FormDumper::single_choice (const std::string name,
const std::string description,
const std::string value,
- const std::map<std::string, std::string> choices)
+ const std::map<std::string, std::string> choices,
+ bool advanced)
{
out << "Single choice list " << name
<< " (default choice: " << value << "): " << std::endl
- << description << std::endl
+ << description
+ << (advanced?"[advanced]":"")
+ << std::endl
<< "where choices are :" << std::endl;
for (std::map<std::string, std::string>::const_iterator iter = choices.begin ();
iter != choices.end ();
@@ -141,10 +156,13 @@
Ekiga::FormDumper::multiple_choice (const std::string name,
const std::string description,
const std::set<std::string> values,
- const std::map<std::string, std::string> choices)
+ const std::map<std::string, std::string> choices,
+ bool advanced)
{
out << "Multiple choice list " << name << ":" << std::endl
- << description << std::endl
+ << description
+ << (advanced?"[advanced]":"")
+ << std::endl
<< "where choices are :" << std::endl;
for (std::map<std::string, std::string>::const_iterator iter = choices.begin ();
iter != choices.end ();
@@ -163,10 +181,12 @@
Ekiga::FormDumper::editable_set (const std::string name,
const std::string description,
const std::set<std::string> values,
- const std::set<std::string> proposed_values)
+ const std::set<std::string> proposed_values,
+ bool advanced)
{
out << "Editable list " << name << ":" << std::endl
- << description << std::endl
+ << description
+ << (advanced?"[advanced]":"")
<< "where current set is :" << std::endl;
for (std::set<std::string>::const_iterator iter = values.begin ();
iter != values.end ();
Modified: trunk/lib/engine/framework/form-dumper.h
==============================================================================
--- trunk/lib/engine/framework/form-dumper.h (original)
+++ trunk/lib/engine/framework/form-dumper.h Tue Oct 21 16:57:57 2008
@@ -64,41 +64,49 @@
void link (const std::string link,
const std::string uri);
- void error (const std::string );
+ void error (const std::string msg);
void hidden (const std::string name,
const std::string value);
void boolean (const std::string name,
const std::string description,
- bool value);
+ bool value,
+ bool advanced);
void text (const std::string name,
const std::string description,
- const std::string value);
+ const std::string value,
+ bool advanced);
void private_text (const std::string name,
const std::string description,
- const std::string value);
+ const std::string value,
+ bool advanced);
void multi_text (const std::string name,
const std::string description,
- const std::string value);
+ const std::string value,
+ bool advanced);
void single_choice (const std::string name,
const std::string description,
const std::string value,
- const std::map<std::string, std::string> choices);
+ const std::map<std::string, std::string> choices,
+ bool advanced);
void multiple_choice (const std::string name,
const std::string description,
const std::set<std::string> values,
- const std::map<std::string, std::string> choices);
+ const std::map<std::string, std::string> choices,
+ bool advanced);
void editable_set (const std::string name,
const std::string description,
const std::set<std::string> values,
- const std::set<std::string> proposed_values);
+ const std::set<std::string> proposed_values,
+ bool advanced);
+
private:
std::ostream &out;
Modified: trunk/lib/engine/framework/form-visitor.h
==============================================================================
--- trunk/lib/engine/framework/form-visitor.h (original)
+++ trunk/lib/engine/framework/form-visitor.h Tue Oct 21 16:57:57 2008
@@ -61,26 +61,30 @@
virtual void link (const std::string link,
const std::string uri) = 0;
- virtual void error (const std::string error) = 0;
+ virtual void error (const std::string msg) = 0;
virtual void hidden (const std::string name,
const std::string value) = 0;
virtual void boolean (const std::string name,
const std::string description,
- bool value) = 0;
+ bool value,
+ bool advanced) = 0;
virtual void text (const std::string name,
const std::string description,
- const std::string value) = 0;
+ const std::string value,
+ bool advanced) = 0;
virtual void private_text (const std::string name,
const std::string description,
- const std::string value) = 0;
+ const std::string value,
+ bool advanced) = 0;
virtual void multi_text (const std::string name,
const std::string description,
- const std::string value) = 0;
+ const std::string value,
+ bool advanced) = 0;
virtual void single_choice (const std::string name,
const std::string description,
@@ -88,7 +92,8 @@
/* pairs (value, name),
* where value is internal and name shown to
* the user (hence translated) */
- const std::map<std::string, std::string> choices) = 0;
+ const std::map<std::string,std::string> choices,
+ bool advanced) = 0;
virtual void multiple_choice (const std::string name,
const std::string description,
@@ -96,12 +101,14 @@
/* pairs (value, name),
* where value is internal and name shown to
* the user (hence translated) */
- const std::map<std::string, std::string> choices) = 0;
+ const std::map<std::string,std::string> choices,
+ bool advanced) = 0;
virtual void editable_set (const std::string name,
const std::string description,
const std::set<std::string> values,
- const std::set<std::string> proposed_values) = 0;
+ const std::set<std::string> proposed_values,
+ bool advanced) = 0;
};
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]