You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
(67) |
Apr
(455) |
May
(202) |
Jun
(136) |
Jul
(203) |
Aug
(60) |
Sep
(88) |
Oct
(64) |
Nov
(56) |
Dec
(78) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(271) |
Feb
(207) |
Mar
|
Apr
|
May
(167) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Foster B. <fos...@us...> - 2005-04-15 23:22:52
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/examples In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21353/adobe-source/adobe/test/visual/examples Added Files: alignment_test.adm alignment_test.eve Log Message: More metrics work on the mac. Added a new file: ui_core_common.cpp --- NEW FILE: alignment_test.adm --- /* Copyright 2004 Adobe Systems Incorporated; All Rights Reserved. */ sheet alignment_test { interface: alignment : "1234567890"; } --- NEW FILE: alignment_test.eve --- /* Copyright 2004 Adobe Systems Incorporated; All Rights Reserved. */ dialog(name: "Alignment Test", spacing: 6) { group(placement: place_column, name: "Colon Alignment 1") { edit_text(bind: @alignment, characters: 10, name: "Apple:"); edit_text(bind: @alignment, characters: 10, name: "Orange:"); edit_text(bind: @alignment, characters: 10, name: "Orangutan:"); popup(name: "Foo:", items: [{name: "Item One", value: @one}, {name: "Item Two", value: @two}]); popup(name: "Alignment:", items: [{name: "Item One", value: @one}, {name: "Item Two", value: @two}]); } column() { group(placement: place_column, name: "Colon Alignment 2") { edit_text(bind: @alignment, characters: 10, name: "Alignment:"); row(spacing: 4) { static_text(name: "Alignment:"); edit_text(bind: @alignment, characters: 10); } popup(name: "Alignment:", items: [{name: "Item One", value: @one}, {name: "Item Two", value: @two}]); row(spacing: 4) { static_text(name: "Alignment:"); popup(items: [{name: "Item One", value: @one}, {name: "Item Two", value: @two}]); } } } column() { group(placement: place_column, name: "No lables") { edit_text(bind: @alignment, characters: 10); popup(items: [{name: "Item One", value: @one}, {name: "Item Two", value: @two}]); } group(placement: place_column, name: "Other Texts") { row() { static_text(name: "A great yellow | OL"); button(name: "Alignment"); } } } column(child_horizontal: align_fill) { button(name: "OK", default: true); button( items: [ { name: "Cancel", action: @cancel }, { name: "Reset", action: @reset, modifiers: @opt } ]); } } |
|
From: Tobias S. <t_s...@us...> - 2005-04-15 22:28:39
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23840/adobe-source/adobe/test/visual Modified Files: Jamfile Log Message: Makes sure the Darwin linker does not accidently sees Windows libraries and adds a comment to revisit this issue Index: Jamfile =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/Jamfile,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Jamfile 15 Apr 2005 20:42:23 -0000 1.9 --- Jamfile 15 Apr 2005 22:28:10 -0000 1.10 *************** *** 33,37 **** project adobe/visual : requirements <toolset>msvc:<linkflags>"gdi32.lib user32.lib comctl32.lib /subsystem:windows" ! : requirements <toolset>gcc:<linkflags>"-lgdi32 -luser32 -lcomctl32" : requirements <toolset>darwin:<linkflags>"-framework Carbon" # --- 33,43 ---- project adobe/visual : requirements <toolset>msvc:<linkflags>"gdi32.lib user32.lib comctl32.lib /subsystem:windows" ! # ! # REVISIT (t_schwinger): ! # ! # Masking darwin by requesting the GNU linker is odd. This has to be straightened out ! # as soon as there are more GCC platforms... ! # ! : requirements <toolset>gcc:<linker>gnu:<linkflags>"-lgdi32 -luser32 -lcomctl32" : requirements <toolset>darwin:<linkflags>"-framework Carbon" # |
|
From: Ralph T. <ra...@us...> - 2005-04-15 22:28:13
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23659/adobe-source/adobe/test/visual/headers Modified Files: ui_core.hpp Log Message: Magic to make visual compile on MSVC 7.1 again. Worryingly I'm not quite sure why the previous change broke the MSVC build... Index: ui_core.hpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers/ui_core.hpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ui_core.hpp 15 Apr 2005 20:39:11 -0000 1.7 --- ui_core.hpp 15 Apr 2005 22:28:00 -0000 1.8 *************** *** 12,16 **** /****************************************************************************************************/ ! #include <string> #include <boost/function.hpp> --- 12,19 ---- /****************************************************************************************************/ ! #if ADOBE_PLATFORM_WIN ! # include <string> ! # include <sstream> ! #endif #include <boost/function.hpp> *************** *** 22,29 **** #include <adobe/rectangle.hpp> - #if ADOBE_PLATFORM_WIN - #include <sstream> - #endif - /****************************************************************************************************/ --- 25,28 ---- |
|
From: Tobias S. <t_s...@us...> - 2005-04-15 20:42:32
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2059/adobe-source/adobe/test/visual Modified Files: Jamfile Log Message: Adds Win32/GCC specific fixes (there is no Jam-toolset named 'mingw', definition of _WIN32_IE is required). Index: Jamfile =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/Jamfile,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Jamfile 10 Apr 2005 08:15:16 -0000 1.8 --- Jamfile 15 Apr 2005 20:42:23 -0000 1.9 *************** *** 23,27 **** # such as the WS_EX_COMPOSITED window style. # ! PLATFORM_DEFINITIONS = <define>WINVER=0x501 <define>_WIN32_WINNT=0x501 ; } else { PLATFORM_HEADERS = headers/mac ; --- 23,27 ---- # such as the WS_EX_COMPOSITED window style. # ! PLATFORM_DEFINITIONS = <define>WINVER=0x501 <define>_WIN32_WINNT=0x501 <define>_WIN32_IE=0x0501 ; } else { PLATFORM_HEADERS = headers/mac ; *************** *** 33,37 **** project adobe/visual : requirements <toolset>msvc:<linkflags>"gdi32.lib user32.lib comctl32.lib /subsystem:windows" ! : requirements <toolset>mingw:<linkflags>"-lgdi32 -luser32 -lcomctl32" : requirements <toolset>darwin:<linkflags>"-framework Carbon" # --- 33,37 ---- project adobe/visual : requirements <toolset>msvc:<linkflags>"gdi32.lib user32.lib comctl32.lib /subsystem:windows" ! : requirements <toolset>gcc:<linkflags>"-lgdi32 -luser32 -lcomctl32" : requirements <toolset>darwin:<linkflags>"-framework Carbon" # |
|
From: Tobias S. <t_s...@us...> - 2005-04-15 20:39:20
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv476/adobe-source/adobe/test/visual/headers Modified Files: ui_core.hpp Log Message: Adds missing #include directives Index: ui_core.hpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers/ui_core.hpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ui_core.hpp 12 Apr 2005 17:24:46 -0000 1.6 --- ui_core.hpp 15 Apr 2005 20:39:11 -0000 1.7 *************** *** 12,15 **** --- 12,17 ---- /****************************************************************************************************/ + #include <string> + #include <boost/function.hpp> #include <boost/operators.hpp> *************** *** 20,23 **** --- 22,29 ---- #include <adobe/rectangle.hpp> + #if ADOBE_PLATFORM_WIN + #include <sstream> + #endif + /****************************************************************************************************/ |
|
From: Tobias S. <t_s...@us...> - 2005-04-15 20:13:12
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers/win In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20856/adobe-source/adobe/test/visual/headers/win Modified Files: metrics.hpp Log Message: Adds empty virtual destructor. Index: metrics.hpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers/win/metrics.hpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** metrics.hpp 8 Apr 2005 21:03:50 -0000 1.3 --- metrics.hpp 15 Apr 2005 20:12:58 -0000 1.4 *************** *** 153,156 **** --- 153,158 ---- // virtual bool set_window(HWND window) = 0; + + virtual ~metrics_t() { } }; |
|
From: Tobias S. <t_s...@us...> - 2005-04-15 20:11:52
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources/win In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20466/adobe-source/adobe/test/visual/sources/win Modified Files: metrics.cpp Log Message: Fixes to compile with GCC (#include <stdexcept> and some warnings), marks destructor virtual. Index: metrics.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources/win/metrics.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** metrics.cpp 10 Apr 2005 01:24:36 -0000 1.5 --- metrics.cpp 15 Apr 2005 20:11:43 -0000 1.6 *************** *** 16,19 **** --- 16,20 ---- #include <sstream> + #include <stdexcept> /****************************************************************************************************/ *************** *** 238,243 **** GetThemeFont_t GetThemeFontPtr; GetThemeSysFont_t GetThemeSysFontPtr; - DrawThemeParentBackground_t DrawThemeParentBackgroundPtr; IsThemeActive_t IsThemeActivePtr; // // We only ever try to load UxTheme.DLL once, this boolean tells us if we were --- 239,244 ---- GetThemeFont_t GetThemeFontPtr; GetThemeSysFont_t GetThemeSysFontPtr; IsThemeActive_t IsThemeActivePtr; + DrawThemeParentBackground_t DrawThemeParentBackgroundPtr; // // We only ever try to load UxTheme.DLL once, this boolean tells us if we were *************** *** 276,280 **** loaded_m = true; } ! ~metrics_uxtheme_t() { if (theme_dll_m) FreeLibrary(theme_dll_m); --- 277,281 ---- loaded_m = true; } ! virtual ~metrics_uxtheme_t() { if (theme_dll_m) FreeLibrary(theme_dll_m); |
|
From: Tobias S. <t_s...@us...> - 2005-04-15 19:39:53
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2704/adobe-source/adobe/source Modified Files: istream.cpp Log Message: Adds a workaround to disable automatic line-ending conversion when compiling with MinGW (GCC). Index: istream.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/source/istream.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** istream.cpp 15 Apr 2005 13:22:51 -0000 1.3 --- istream.cpp 15 Apr 2005 19:39:44 -0000 1.4 *************** *** 119,120 **** --- 119,134 ---- /*************************************************************************************************/ + + /* + REVISIT (t_schwinger) : This is needed to disable automatic CR-LF conversion, which seems + to be broken in MinGW 3.2 (GCC 3.4). + */ + #ifdef __MINGW32__ + extern "C" + { + #include <fcntl.h> + unsigned int _CRT_fmode = _O_BINARY; + } + #endif + + /*************************************************************************************************/ |
|
From: Tobias S. <t_s...@us...> - 2005-04-15 16:44:52
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2461/adobe-source/adobe/source Modified Files: eve.cpp Log Message: Silences some warnings when compiling with GCC (initialization order of member fields, unused variables) Index: eve.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/source/eve.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** eve.cpp 13 Apr 2005 16:21:15 -0000 1.7 --- eve.cpp 15 Apr 2005 16:44:28 -0000 1.8 *************** *** 130,134 **** explicit apply_flatten_t(slice_select_t select, adobe::eve_t::evaluate_options_t options) ! : select_m(select), options_m(options) { } template <typename BeadIterator> --- 130,134 ---- explicit apply_flatten_t(slice_select_t select, adobe::eve_t::evaluate_options_t options) ! : options_m(options), select_m(select) { } template <typename BeadIterator> *************** *** 898,903 **** --last; ! const adobe::eve_t::calculate_data_t::slice_t& leading_gslice (first->geometry_m.slice_m[select]); ! const adobe::eve_t::calculate_data_t::slice_t& trailing_gslice (last->geometry_m.slice_m[select]); adobe::eve_t::place_data_t::slice_t& leading_pslice (first->place_m.slice_m[select]); adobe::eve_t::place_data_t::slice_t& trailing_pslice (last->place_m.slice_m[select]); --- 898,904 ---- --last; ! // currently unused: ! // const adobe::eve_t::calculate_data_t::slice_t& leading_gslice (first->geometry_m.slice_m[select]); ! // const adobe::eve_t::calculate_data_t::slice_t& trailing_gslice (last->geometry_m.slice_m[select]); adobe::eve_t::place_data_t::slice_t& leading_pslice (first->place_m.slice_m[select]); adobe::eve_t::place_data_t::slice_t& trailing_pslice (last->place_m.slice_m[select]); *************** *** 939,943 **** for (child_iterator iter (first); iter != last; ++iter) { ! const eve_t::calculate_data_t::slice_t& iter_gslice(iter->geometry_m.slice_m[select]); eve_t::place_data_t::slice_t& iter_pslice(iter->place_m.slice_m[select]); --- 940,945 ---- for (child_iterator iter (first); iter != last; ++iter) { ! // currently unused: ! // const eve_t::calculate_data_t::slice_t& iter_gslice(iter->geometry_m.slice_m[select]); eve_t::place_data_t::slice_t& iter_pslice(iter->place_m.slice_m[select]); *************** *** 1200,1204 **** void eve_t::view_proxy_t::adjust_with(child_iterator first, child_iterator last, slice_select_t select) { ! const eve_t::calculate_data_t::slice_t& gslice(geometry_m.slice_m[select]); eve_t::place_data_t::slice_t& pslice(place_m.slice_m[select]); --- 1202,1207 ---- void eve_t::view_proxy_t::adjust_with(child_iterator first, child_iterator last, slice_select_t select) { ! // currently unused ! // const eve_t::calculate_data_t::slice_t& gslice(geometry_m.slice_m[select]); eve_t::place_data_t::slice_t& pslice(place_m.slice_m[select]); *************** *** 1261,1265 **** void eve_t::view_proxy_t::adjust_cross(child_iterator first, child_iterator last, slice_select_t select) { ! const eve_t::calculate_data_t::slice_t& gslice(geometry_m.slice_m[select]); eve_t::place_data_t::slice_t& pslice(place_m.slice_m[select]); --- 1264,1269 ---- void eve_t::view_proxy_t::adjust_cross(child_iterator first, child_iterator last, slice_select_t select) { ! // currently unused ! // const eve_t::calculate_data_t::slice_t& gslice(geometry_m.slice_m[select]); eve_t::place_data_t::slice_t& pslice(place_m.slice_m[select]); *************** *** 1275,1279 **** for (child_iterator iter(first); iter != last; ++iter) { ! const eve_t::calculate_data_t::slice_t& iter_gslice (iter->geometry_m.slice_m[select]); eve_t::place_data_t::slice_t& iter_pslice(iter->place_m.slice_m[select]); --- 1279,1284 ---- for (child_iterator iter(first); iter != last; ++iter) { ! // currently unused: ! // const eve_t::calculate_data_t::slice_t& iter_gslice (iter->geometry_m.slice_m[select]); eve_t::place_data_t::slice_t& iter_pslice(iter->place_m.slice_m[select]); *************** *** 1538,1545 **** eve_t::calculate_data_t::calculate_data_t() : - placement_m(eve_t::place_leaf), indent_m(0), create_m(true), ! spacing_m(2, 0) { spacing_m[1] = 10; /* REVISIT FIXED VALUE container_spacing */ --- 1543,1550 ---- eve_t::calculate_data_t::calculate_data_t() : indent_m(0), create_m(true), ! spacing_m(2, 0), ! placement_m(eve_t::place_leaf) { spacing_m[1] = 10; /* REVISIT FIXED VALUE container_spacing */ |
|
From: Tobias S. <t_s...@us...> - 2005-04-15 13:23:01
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22192/adobe-source/adobe/source Modified Files: istream.cpp Log Message: Silences a GCC warning (initialization order of member fields). Index: istream.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/source/istream.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** istream.cpp 10 Apr 2005 08:15:15 -0000 1.2 --- istream.cpp 15 Apr 2005 13:22:51 -0000 1.3 *************** *** 28,35 **** line_position_t::line_position_t(const char* stream_name, int line_index) : - stream_name_m(stream_name), line_number_m(line_index + 1), line_start_m(0), ! position_m(-1) { } --- 28,35 ---- line_position_t::line_position_t(const char* stream_name, int line_index) : line_number_m(line_index + 1), line_start_m(0), ! position_m(-1), ! stream_name_m(stream_name) { } |
|
From: Tobias S. <t_s...@us...> - 2005-04-15 12:18:31
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19028/adobe-source/adobe/source Modified Files: xstr.cpp Log Message: Silences two GCC warnings (signed/unsigned comparison and initialization order of member fields) Index: xstr.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/source/xstr.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** xstr.cpp 14 Apr 2005 00:26:31 -0000 1.7 --- xstr.cpp 15 Apr 2005 12:18:15 -0000 1.8 *************** *** 370,374 **** // don't compare the value_m of the node, because it is not essential data ! return node_attribute_likeness(x, y) == x.attribute_set_m.size(); } --- 370,374 ---- // don't compare the value_m of the node, because it is not essential data ! return size_t( node_attribute_likeness(x, y) ) == x.attribute_set_m.size(); } *************** *** 598,603 **** boost::spirit::assertion<parser_error_t> expect_open_token; boost::spirit::assertion<parser_error_t> expect_name; - boost::spirit::assertion<parser_error_t> expect_empty_elem_close_token; boost::spirit::assertion<parser_error_t> expect_close_token; boost::spirit::assertion<parser_error_t> expect_eq; boost::spirit::assertion<parser_error_t> expect_att_value; --- 598,603 ---- boost::spirit::assertion<parser_error_t> expect_open_token; boost::spirit::assertion<parser_error_t> expect_name; boost::spirit::assertion<parser_error_t> expect_close_token; + boost::spirit::assertion<parser_error_t> expect_empty_elem_close_token; boost::spirit::assertion<parser_error_t> expect_eq; boost::spirit::assertion<parser_error_t> expect_att_value; |
|
From: Foster B. <fos...@us...> - 2005-04-14 00:26:45
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers/mac In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1496/adobe-source/adobe/test/visual/headers/mac Modified Files: ui_core_implementation.hpp Log Message: more metrics work on the mac Index: ui_core_implementation.hpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers/mac/ui_core_implementation.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ui_core_implementation.hpp 13 Apr 2005 16:21:16 -0000 1.5 --- ui_core_implementation.hpp 14 Apr 2005 00:26:31 -0000 1.6 *************** *** 57,79 **** \ingroup widget_lib ! This describes the widget metric system for the Mac. Wooo-ha! */ struct metric_extractor_t { enum array_index_t { index_left = 0, index_top = 1, index_right = 2, index_bottom = 3, index_width = index_left, index_height = index_top }; explicit metric_extractor_t(const dictionary_t& dictionary) : dictionary_m(dictionary) { } long operator () (const name_t& tag) const { --- 57,193 ---- \ingroup widget_lib ! \section widget_metrics_mac_parameters Parameters ! The following is a list of metrics one can supply for a widget on the Mac. ! All values are in unit pixels. All values default to 0. ! ! <table width="100%" border="1"> ! <tr><th width="10%">Name</th><th width="30%">Structure</th><th>Notes</th></tr> ! <tr> ! <td><code>size</code></td> ! <td><code>[ width, height ]</code></td> ! <td>Base size of the widget</td> ! </tr> ! <tr> ! <td><code>adjust_position</code></td> ! <td><code>[ left, top ]</code></td> ! <td>Number of pixels to push the widget. Positive values move the ! widget away from the origin of the window.</td> ! </tr> ! <tr> ! <td><code>adjust_size</code></td> ! <td><code>[ width, height ]</code></td> ! <td>Adjustments made to the base size of the widget. The adjusted ! size is passed to the OS so the resulting widget is the base size ! originally intended.</td> ! </tr> ! <tr> ! <td><code>adjust_baseline</code></td> ! <td><code>value</code></td> ! <td>Adjustment of the baseline. Positive values move the baseline ! away from the origin of the window.</td> ! </tr> ! <tr> ! <td><code>outset</code></td> ! <td><code>[ left, top, right, bottom ]</code></td> ! <td>Amount of outset for a given edge of the widget. These amounts ! affect the base size and position of the widget when the bounds of ! the widget are set. See \ref widget_metrics_mac_pipeline_placement.</td> ! </tr> ! <tr> ! <td><code>frame</code></td> ! <td><code>[ left, top, right, bottom ]</code></td> ! <td>Amount of frame for a given edge of the widget.</td> ! </tr> ! <tr> ! <td><code>inset</code></td> ! <td><code>[ left, top, right, bottom ]</code></td> ! <td>Amount of inset for a given edge of the widget.</td> ! </tr> ! <tr> ! <td><code>margin</code></td> ! <td><code>[ left, top, right, bottom ]</code></td> ! <td>Amount of margin for a given edge of the widget.</td> ! </tr> ! <tr> ! <td><code>spacing</code></td> ! <td><code>value</code></td> ! <td>If there is text in the widget, this is the spacing needed between ! the widget's visual element and the text for the widget. Example: ! <code>check_box</code> has a nonzero spacing, but <code>button</code> ! has a spacing of 0 (because the text overlays the visual element).</td> ! </tr> ! </table> ! ! \section widget_metrics_mac_pipelines Metrics Pipelines ! ! \subsection widget_metrics_mac_pipeline_measurement Measurement Pipeline ! -# All the possible text strings for the widget are measured. The ! largest width, height and baseline are preserved on a per-element basis (i.e., it is ! possible for one piece of text to contribute the max width and another ! to contribute the max height) ! -# The base height of the widget is set to <code>size.height - adjust_size.height</code> ! -# The base width of the widget is set to <code>size.width - adjust_size.width</code> ! -# If text width is nonzero then <code>text_width + spacing</code> is ! added to the base width of the widget ! -# If there is a valid text baseline value the baseline of the result is set ! to <code>text_baseline + adjust_baseline</code> ! -# The <code>outset.left</code> is added to the resultant left outset ! -# The <code>outset.left + outset.right</code> is <i>subtracted</i> from the resultant right outset ! -# The <code>outset.top</code> is added to the resultant top outset ! -# The <code>outset.top + outset.bottom</code> is <i>subtracted</i> from the resultant bottom outset ! -# Resultant frame is set from <code>frame</code> ! -# Resultant inset is set from <code>inset</code> ! -# The resultant geometry is returned ! ! \subsection widget_metrics_mac_pipeline_placement Placement Pipeline ! -# <code>adjust_position.left - geometry.outset.left</code> is added to ! the left position of the widget ! -# <code>adjust_position.top - geometry.outset.top</code> is added to ! the top position of the widget ! -# The height of the widget is increased by ! <code>adjust_size.height + geometry.outset.top + geometry.outset.bottom</code> ! -# The width of the widget is increased by ! <code>adjust_size.width + geometry.outset.left + geometry.outset.right</code> ! -# The bounds of the widget are set ! */ ! ! /*! ! \ingroup widget_lib ! ! \brief Utility class to access widget metrics for the Macintosh. ! ! metric_extractor_t is a struct that allows for easy access to the metrics found in a parsed and ! evaluated xstr definition from the mac metrics library. See \ref widget_metrics_mac for more ! information on the dictionary format describing the metrics for a given widget. */ struct metric_extractor_t { + /// indices used to access elements for a compound (array-based) metric enum array_index_t { + /// first element index_left = 0, + /// second element index_top = 1, + /// third element index_right = 2, + /// fourth element index_bottom = 3, + /// same as index_left index_width = index_left, + /// same as index_top index_height = index_top }; + /// \param dictionary the dictionary containing the widget metrics. + /// Internally the dictionary is stored by value. explicit metric_extractor_t(const dictionary_t& dictionary) : dictionary_m(dictionary) { } + /// Obtains a singleton metric + /// \param tag the name of the metric we are interested in getting + /// \return the value of the metric; 0 if the metric does not exist long operator () (const name_t& tag) const { *************** *** 85,88 **** --- 199,206 ---- } + /// Obtains a singleton metric from a compound (array-based) metric + /// \param tag the name of the metric we are interested in getting + /// \param index the index inside the compound metric to fetch + /// \return the value of the metric; 0 if the metric does not exist long operator () (const name_t& tag, array_index_t index) const { *************** *** 97,102 **** --- 215,222 ---- } + #if !defined(ADOBE_NO_DOCUMENTATION) private: dictionary_t dictionary_m; + #endif }; |
|
From: Foster B. <fos...@us...> - 2005-04-14 00:26:44
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources/mac In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1496/adobe-source/adobe/test/visual/sources/mac Modified Files: metrics.cpp ui_core_implementation.cpp Log Message: more metrics work on the mac Index: metrics.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources/mac/metrics.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** metrics.cpp 13 Apr 2005 16:21:17 -0000 1.2 --- metrics.cpp 14 Apr 2005 00:26:32 -0000 1.3 *************** *** 47,51 **** try { ! std::stringstream expression_stream(std::string(xstr_t(xstr.c_str(), xstr.size(), context).get())); expression_parser parser(expression_stream, line_position_t("widget_metrics")); array_t expression; --- 47,53 ---- try { ! const char* cxstr(xstr.c_str()); ! std::size_t n(xstr.size()); ! std::stringstream expression_stream(std::string(xstr_t(cxstr, n, context).get())); expression_parser parser(expression_stream, line_position_t("widget_metrics")); array_t expression; Index: ui_core_implementation.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources/mac/ui_core_implementation.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** ui_core_implementation.cpp 13 Apr 2005 16:21:17 -0000 1.10 --- ui_core_implementation.cpp 14 Apr 2005 00:26:32 -0000 1.11 *************** *** 48,66 **** template <typename T> std::string widget_tag(const T&) { return std::string("<xstr id='metric_unknown'/>{ }</xstr>"); } ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::group_t::implementation_t, "<xstr id='metric_group'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::tab_group_t::implementation_t, "<xstr id='metric_tab_group'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::button_t::implementation_t, "<xstr id='metric_button'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::panel_t::implementation_t, "<xstr id='metric_panel'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::radio_button_t::implementation_t, "<xstr id='metric_radio_button'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::checkbox_t::implementation_t, "<xstr id='metric_checkbox'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::link_t::implementation_t, "<xstr id='metric_link'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::progress_bar_t::implementation_t, "<xstr id='metric_progress_bar'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::separator_t::implementation_t, "<xstr id='metric_separator'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::static_text_t::implementation_t, "<xstr id='metric_static_text'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::edit_text_t::implementation_t, "<xstr id='metric_edit_text'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::popup_t::implementation_t, "<xstr id='metric_popup'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::unit_edit_text_t::implementation_t, "<xstr id='metric_unit_edit_text'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::slider_t::implementation_t, "<xstr id='metric_slider'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::bevel_button_t::implementation_t, "<xstr id='metric_bevel_button'/>"); /****************************************************************************************************/ --- 48,66 ---- template <typename T> std::string widget_tag(const T&) { return std::string("<xstr id='metric_unknown'/>{ }</xstr>"); } ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::group_t::implementation_t, "<xstr id='metric:group'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::tab_group_t::implementation_t, "<xstr id='metric:tab_group'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::button_t::implementation_t, "<xstr id='metric:button'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::panel_t::implementation_t, "<xstr id='metric:panel'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::radio_button_t::implementation_t, "<xstr id='metric:radio_button'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::checkbox_t::implementation_t, "<xstr id='metric:checkbox'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::link_t::implementation_t, "<xstr id='metric:link'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::progress_bar_t::implementation_t, "<xstr id='metric:progress_bar'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::separator_t::implementation_t, "<xstr id='metric:separator'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::static_text_t::implementation_t, "<xstr id='metric:static_text'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::edit_text_t::implementation_t, "<xstr id='metric:edit_text'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::popup_t::implementation_t, "<xstr id='metric:popup'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::unit_edit_text_t::implementation_t, "<xstr id='metric:unit_edit_text'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::slider_t::implementation_t, "<xstr id='metric:slider'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::bevel_button_t::implementation_t, "<xstr id='metric:bevel_button'/>"); /****************************************************************************************************/ *************** *** 91,94 **** --- 91,96 ---- adobe::static_name_t k_metric_adjust_baseline("adjust_baseline"); adobe::static_name_t k_metric_outset("outset"); + adobe::static_name_t k_metric_frame("frame"); + adobe::static_name_t k_metric_inset("inset"); adobe::static_name_t k_metric_spacing("spacing"); *************** *** 1954,1960 **** if (text_baseline != -1) ! result.slice_m[adobe::rectangle_slices_t::vertical].poi_m.push_back(text_baseline - w.metrics_m(k_metric_adjust_baseline)); - // adjust outsets in accordance with the fudges result.slice_m[adobe::rectangle_slices_t::vertical].outset_m.first += --- 1956,1970 ---- if (text_baseline != -1) ! result.slice_m[adobe::rectangle_slices_t::vertical].poi_m.push_back(text_baseline + w.metrics_m(k_metric_adjust_baseline)); ! ! // adjust outsets ! ! result.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.first += ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_left); ! ! result.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.second -= ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_left) + ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_right); result.slice_m[adobe::rectangle_slices_t::vertical].outset_m.first += *************** *** 1965,1975 **** w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_bottom); ! result.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.first += ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_left); ! result.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.second -= ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_left) + ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_right); return result; --- 1975,1989 ---- w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_bottom); + // frame, inset, and margin are directly transcribed ! result.slice_m[adobe::rectangle_slices_t::horizontal].frame_m.first = w.metrics_m(k_metric_frame, adobe::metric_extractor_t::index_left); ! result.slice_m[adobe::rectangle_slices_t::horizontal].frame_m.second = w.metrics_m(k_metric_frame, adobe::metric_extractor_t::index_right); ! result.slice_m[adobe::rectangle_slices_t::vertical].frame_m.first = w.metrics_m(k_metric_frame, adobe::metric_extractor_t::index_top); ! result.slice_m[adobe::rectangle_slices_t::vertical].frame_m.second = w.metrics_m(k_metric_frame, adobe::metric_extractor_t::index_bottom); ! result.slice_m[adobe::rectangle_slices_t::horizontal].inset_m.first = w.metrics_m(k_metric_inset, adobe::metric_extractor_t::index_left); ! result.slice_m[adobe::rectangle_slices_t::horizontal].inset_m.second = w.metrics_m(k_metric_inset, adobe::metric_extractor_t::index_right); ! result.slice_m[adobe::rectangle_slices_t::vertical].inset_m.first = w.metrics_m(k_metric_inset, adobe::metric_extractor_t::index_top); ! result.slice_m[adobe::rectangle_slices_t::vertical].inset_m.second = w.metrics_m(k_metric_inset, adobe::metric_extractor_t::index_bottom); return result; *************** *** 1981,1990 **** inline adobe::rectangle_t widget_best_bounds(Widget& w, const std::string& name) { ! std::vector<std::string> name_set; ! if (!name.empty()) ! name_set.push_back(name); ! return widget_best_bounds(w, &name_set[0], &name_set[0] + name_set.size()); } --- 1995,2006 ---- inline adobe::rectangle_t widget_best_bounds(Widget& w, const std::string& name) { ! std::vector<std::string> name_set; ! if (!name.empty()) name_set.push_back(name); ! std::string* first(&name_set[0]); ! std::string* last(first + name_set.size()); ! ! return widget_best_bounds(w, first, last); } *************** *** 1999,2007 **** void shed_fudges(const adobe::control_t& control, adobe::point_t& position, adobe::rectangle_t& geometry) { ! position.first = position.first - control.metrics_m(k_metric_adjust_position, adobe::metric_extractor_t::index_left) - geometry.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.first; ! position.second = position.second - control.metrics_m(k_metric_adjust_position, adobe::metric_extractor_t::index_top) - geometry.slice_m[adobe::rectangle_slices_t::vertical].outset_m.first; --- 2015,2023 ---- void shed_fudges(const adobe::control_t& control, adobe::point_t& position, adobe::rectangle_t& geometry) { ! position.first = position.first + control.metrics_m(k_metric_adjust_position, adobe::metric_extractor_t::index_left) - geometry.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.first; ! position.second = position.second + control.metrics_m(k_metric_adjust_position, adobe::metric_extractor_t::index_top) - geometry.slice_m[adobe::rectangle_slices_t::vertical].outset_m.first; *************** *** 2653,2658 **** assert(!control_m); - //fudges_m.bottom() = -1; - ADOBE_REQUIRE_STATUS(::CreateGroupBoxControl( 0, &bounds, string_to_cfstring(name).get(), --- 2669,2672 ---- *************** *** 2666,2674 **** assert(control_m); ! rectangle_t result(widget_best_bounds(*this, get_control_title(control_m))); ! ! result.slice_m[rectangle_slices_t::vertical].frame_m.first = result.height(); ! ! return result; } --- 2680,2684 ---- assert(control_m); ! return widget_best_bounds(*this, get_control_title(control_m)); } *************** *** 2719,2725 **** assert (!control_m); - //fudges_m.top() = 7; - //fudges_m.bottom() = -8; - ControlTabSize size(kControlSizeNormal); ControlTabDirection direction(kControlTabDirectionNorth); --- 2729,2732 ---- *************** *** 2771,2782 **** assert(control_m); ! rectangle_t result; ! ! // REVISIT (fbrereto) : Static values ! ! result.height() = 20; ! result.slice_m[rectangle_slices_t::vertical].frame_m.first = 20; ! ! return result; } --- 2778,2782 ---- assert(control_m); ! return widget_best_bounds(*this, get_control_title(control_m)); } |
|
From: Foster B. <fos...@us...> - 2005-04-14 00:26:40
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1496/adobe-source/adobe/test/visual/sources Modified Files: client_assembler.cpp express_viewer.cpp Log Message: more metrics work on the mac Index: express_viewer.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources/express_viewer.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** express_viewer.cpp 12 Apr 2005 17:24:47 -0000 1.8 --- express_viewer.cpp 14 Apr 2005 00:26:32 -0000 1.9 *************** *** 298,302 **** adobe::dictionary_t default_context(adobe::xstr_t::get_default_context()); - default_context.write()[adobe::static_name_t("widget")] = adobe::value_t(adobe::static_name_t("unknown")); default_context.write()[adobe::static_name_t("theme")] = adobe::value_t(adobe::static_name_t("normal")); --- 298,301 ---- Index: client_assembler.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources/client_assembler.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** client_assembler.cpp 12 Apr 2005 19:35:39 -0000 1.8 --- client_assembler.cpp 14 Apr 2005 00:26:32 -0000 1.9 *************** *** 2142,2147 **** { best_bounds_data_converter(control_m.best_bounds(), geometry); - - geometry.slice_m[vertical].frame_m.first = geometry.slice_m[vertical].length_m; } --- 2142,2145 ---- |
|
From: Foster B. <fos...@us...> - 2005-04-14 00:26:40
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/resources In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1496/adobe-source/adobe/test/visual/resources Modified Files: metrics_glossary.xstr Log Message: more metrics work on the mac Index: metrics_glossary.xstr =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/resources/metrics_glossary.xstr,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** metrics_glossary.xstr 13 Apr 2005 16:21:16 -0000 1.2 --- metrics_glossary.xstr 14 Apr 2005 00:26:31 -0000 1.3 *************** *** 1,15 **** ! <xstr id='metric_checkbox'> { size: [ 18, 16 ], adjust_size: [ 4, 2 ], spacing: 4, adjust_position: [ 2, -1 ], outset: [ 0, 2, 0, 0 ], adjust_baseline: 1 }</xstr> ! <xstr id='metric_checkbox' theme='small'> { size: [ 15, 14 ], adjust_size: [ 3, 2 ], spacing: 6, adjust_position: [ -1, 1 ], outset: [ 0, 2, 0, 0 ], adjust_baseline: 1 }</xstr> ! <xstr id='metric_checkbox' theme='mini'> { size: [ 10, 10 ], spacing: 4, outset: [ 0, 1, 0, 0 ] }</xstr> ! <xstr id='metric_radio_button'> { size: [ 19, 16 ], adjust_size: [ 5, 1 ], spacing: 4, adjust_position: [ 1, -1 ], outset: [ 1, 0, 1, 1 ] }</xstr> ! <xstr id='metric_radio_button' theme='small'> { size: [ 14, 13 ], spacing: 4, adjust_position: [ 0, -1 ], outset: [ 0, 0, 0, 1 ], adjust_baseline: -1 }</xstr> ! <xstr id='metric_radio_button' theme='mini'> { size: [ 10, 10 ], spacing: 4, outset: [ 0, 0, 0, 1 ], adjust_baseline: -1 }</xstr> ! <xstr id='metric_button'> { size: [ 10, 21 ], adjust_baseline: -2 }</xstr> ! <xstr id='metric_button' theme='small'> { size: [ 10, 18 ], adjust_size: [ -2, 0 ], adjust_position: [ -1, 1 ], adjust_baseline: -2 }</xstr> ! <xstr id='metric_button' theme='mini'> { size: [ 10, 15 ], adjust_size: [ 2, 0 ], adjust_position: [ 1, 0 ], adjust_baseline: -2 }</xstr> ! <xstr id='metric_group'> { size: [ 0, 12 ], adjust_position: [ 0, 2 ] }</xstr> ! <xstr id='metric_group' theme='small'> { size: [ 0, 10 ], adjust_position: [ 0, 2 ] }</xstr> ! <xstr id='metric_group' theme='mini'> { size: [ 0, 8], adjust_position: [ 0, 2 ] }</xstr> --- 1,19 ---- ! <xstr id='metric:checkbox'> { size: [ 18, 16 ], adjust_size: [ 4, 2 ], spacing: 4, adjust_position: [ -2, 1 ], outset: [ 0, 2, 0, 0 ], adjust_baseline: -1 }</xstr> ! <xstr id='metric:checkbox' theme='small'> { size: [ 15, 14 ], adjust_size: [ 3, 2 ], spacing: 6, adjust_position: [ 1, -1 ], outset: [ 0, 2, 0, 0 ], adjust_baseline: -1 }</xstr> ! <xstr id='metric:checkbox' theme='mini'> { size: [ 10, 10 ], spacing: 4, outset: [ 0, 1, 0, 0 ] }</xstr> ! <xstr id='metric:radio_button'> { size: [ 19, 16 ], adjust_size: [ 5, 1 ], spacing: 4, adjust_position: [ -1, 1 ], outset: [ 1, 0, 1, 1 ] }</xstr> ! <xstr id='metric:radio_button' theme='small'> { size: [ 14, 13 ], spacing: 4, adjust_position: [ 0, 1 ], outset: [ 0, 0, 0, 1 ], adjust_baseline: 1 }</xstr> ! <xstr id='metric:radio_button' theme='mini'> { size: [ 10, 10 ], spacing: 4, outset: [ 0, 0, 0, 1 ], adjust_baseline: 1 }</xstr> ! <xstr id='metric:button'> { size: [ 10, 21 ], adjust_baseline: 2 }</xstr> ! <xstr id='metric:button' theme='small'> { size: [ 10, 18 ], adjust_size: [ -2, 0 ], adjust_position: [ 1, -1 ], adjust_baseline: 2 }</xstr> ! <xstr id='metric:button' theme='mini'> { size: [ 10, 15 ], adjust_size: [ 2, 0 ], adjust_position: [ -1, 0 ], adjust_baseline: 2 }</xstr> ! <xstr id='metric:group'> { size: [ 0, 12 ], adjust_size: [ 0, 3 ], adjust_position: [ 0, -2 ], frame: [ 1, 14, 1, 1 ] }</xstr> ! <xstr id='metric:group' theme='small'> { size: [ 0, 12 ], adjust_size: [ 0, 3 ], adjust_position: [ 0, -2 ], frame: [ 1, 14, 1, 1 ] }</xstr> ! <xstr id='metric:group' theme='mini'> { size: [ 0, 12 ], adjust_size: [ 0, 3 ], adjust_position: [ 0, -2 ], frame: [ 1, 12, 1, 1 ] }</xstr> ! ! <xstr id='metric:tab_group'> { size: [ 0, 0 ], adjust_size: [ 0 , 8 ], adjust_position: [ 0, -7 ], frame: [ 1, 21, 1, 1 ] }</xstr> ! <xstr id='metric:tab_group' theme='small'> { size: [ 0, 0 ], adjust_size: [ 0 , 5 ], adjust_position: [ 0, -4 ], frame: [ 1, 18, 1, 1 ] }</xstr> ! <xstr id='metric:tab_group' theme='mini'> { size: [ 0, 0 ], adjust_size: [ 0 , 3 ], adjust_position: [ 0, -2 ], frame: [ 1, 15, 1, 1 ] }</xstr> |
|
From: Foster B. <fos...@us...> - 2005-04-14 00:26:39
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1496/adobe-source/adobe/source Modified Files: xstr.cpp Log Message: more metrics work on the mac Index: xstr.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/source/xstr.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** xstr.cpp 13 Apr 2005 16:21:15 -0000 1.6 --- xstr.cpp 14 Apr 2005 00:26:31 -0000 1.7 *************** *** 204,208 **** /*************************************************************************************************/ ! struct str_less_t { bool operator () (const adobe::name_t& x, const adobe::name_t& y) const --- 204,208 ---- /*************************************************************************************************/ ! struct name_less_t { bool operator () (const adobe::name_t& x, const adobe::name_t& y) const *************** *** 244,248 **** /*************************************************************************************************/ ! typedef std::multimap<adobe::name_t, node_t, str_less_t> store_t; typedef store_t::iterator store_iterator; typedef store_t::value_type store_value_type; --- 244,248 ---- /*************************************************************************************************/ ! typedef std::multimap<adobe::name_t, node_t, name_less_t> store_t; typedef store_t::iterator store_iterator; typedef store_t::value_type store_value_type; *************** *** 449,456 **** throw std::runtime_error("xstr: id missing"); ! // NOTE (fbrereto) : This has been commented out because copy_to_xstr_store is the only // function that accesses this function. We are interested in grabbing // the mutex only once to make this the fastest group add possible, so ! // we grab the mutex in copy_to_xstr_store instead of here. If you decide // to change this function's relationship to the rest of this code, make // sure you know what you are doing, lest you introduce a threading issue. --- 449,456 ---- throw std::runtime_error("xstr: id missing"); ! // NOTE (fbrereto) : This has been commented out because fill_glossary is the only // function that accesses this function. We are interested in grabbing // the mutex only once to make this the fastest group add possible, so ! // we grab the mutex in fill_glossary instead of here. If you decide // to change this function's relationship to the rest of this code, make // sure you know what you are doing, lest you introduce a threading issue. *************** *** 860,865 **** x.attribute_value(attribute_id, id); - ADOBE_GLOBAL_MUTEX_INSTANCE(xstr_store); - xstr_store(id, x); } --- 860,863 ---- *************** *** 902,905 **** --- 900,905 ---- xstr_parser(node_set).do_parse(parse_range); + ADOBE_GLOBAL_MUTEX_INSTANCE(xstr_store); + adobe::for_each(node_set, copy_to_xstr_store); } |
|
From: David C. <unc...@us...> - 2005-04-13 23:50:29
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/visual.xcode In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16047/sandbox/adobe-source/adobe/test/visual/visual.xcode Modified Files: project.pbxproj Log Message: added metrics.hpp Index: project.pbxproj =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/visual.xcode/project.pbxproj,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** project.pbxproj 1 Apr 2005 17:22:56 -0000 1.3 --- project.pbxproj 13 Apr 2005 23:50:19 -0000 1.4 *************** *** 313,316 **** --- 313,317 ---- children = ( 894E677007F5C13400C05327, + 89E1C14A080C56F1002A2B83, 894E677107F5C13400C05327, ); *************** *** 538,541 **** --- 539,550 ---- sourceTree = "<group>"; }; + 89E1C14A080C56F1002A2B83 = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.h; + path = metrics.hpp; + refType = 4; + sourceTree = "<group>"; + }; //890 //891 |
|
From: Tobias S. <t_s...@us...> - 2005-04-13 23:43:34
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/future In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12372/adobe-source/adobe/future Modified Files: memory.hpp Log Message: Fixes tab indentation which got messed up for a couple of lines in the previous revision. Index: memory.hpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/future/memory.hpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** memory.hpp 12 Apr 2005 19:23:07 -0000 1.3 --- memory.hpp 13 Apr 2005 23:43:26 -0000 1.4 *************** *** 164,168 **** static lht runtime_cast (std::auto_ptr<T>& x) { ! typedef typename lht::element_type* dest_type; dest_type result = dynamic_cast<dest_type>(x.get()); if (result) x.release(); --- 164,168 ---- static lht runtime_cast (std::auto_ptr<T>& x) { ! typedef typename lht::element_type* dest_type; dest_type result = dynamic_cast<dest_type>(x.get()); if (result) x.release(); *************** *** 183,187 **** static lht runtime_cast (adobe::auto_ptr<T, Traits>& x) { ! typedef typename lht::element_type* dest_type; dest_type result = dynamic_cast<dest_type>(x.get()); if (result) x.release(); --- 183,187 ---- static lht runtime_cast (adobe::auto_ptr<T, Traits>& x) { ! typedef typename lht::element_type* dest_type; dest_type result = dynamic_cast<dest_type>(x.get()); if (result) x.release(); *************** *** 202,206 **** static lht runtime_cast (adobe::auto_resource<T, Traits>& x) { ! typedef typename lht::element_type* dest_type; dest_type result = dynamic_cast<dest_type>(x.get()); if (result) x.release(); --- 202,206 ---- static lht runtime_cast (adobe::auto_resource<T, Traits>& x) { ! typedef typename lht::element_type* dest_type; dest_type result = dynamic_cast<dest_type>(x.get()); if (result) x.release(); |
|
From: Foster B. <fos...@us...> - 2005-04-13 16:21:58
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers/mac In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2921/adobe-source/adobe/test/visual/headers/mac Modified Files: metrics.hpp ui_core_implementation.hpp Log Message: Beginning widget library documenation; more config.hpp options (thanks Boost!) Index: metrics.hpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers/mac/metrics.hpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** metrics.hpp 12 Apr 2005 17:24:46 -0000 1.1 --- metrics.hpp 13 Apr 2005 16:21:15 -0000 1.2 *************** *** 13,16 **** --- 13,18 ---- #include <adobe/dictionary_fwd.hpp> + #include <adobe/name_fwd.hpp> + #include <string> /****************************************************************************************************/ *************** *** 20,24 **** /****************************************************************************************************/ ! dictionary_t widget_metrics(const dictionary_t& context); /****************************************************************************************************/ --- 22,26 ---- /****************************************************************************************************/ ! dictionary_t widget_metrics(const std::string& xstr, const dictionary_t& context); /****************************************************************************************************/ Index: ui_core_implementation.hpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/headers/mac/ui_core_implementation.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ui_core_implementation.hpp 12 Apr 2005 17:24:46 -0000 1.4 --- ui_core_implementation.hpp 13 Apr 2005 16:21:16 -0000 1.5 *************** *** 17,21 **** #include <adobe/future/memory.hpp> #include <adobe/rectangle.hpp> ! #include <adobe/dictionary_fwd.hpp> /****************************************************************************************************/ --- 17,22 ---- #include <adobe/future/memory.hpp> #include <adobe/rectangle.hpp> ! #include <adobe/dictionary.hpp> ! #include <adobe/array.hpp> /****************************************************************************************************/ *************** *** 52,57 **** --- 53,75 ---- /****************************************************************************************************/ + /*! + \defgroup widget_metrics_mac Mac Widget Metrics + \ingroup widget_lib + + This describes the widget metric system for the Mac. Wooo-ha! + */ + struct metric_extractor_t { + enum array_index_t + { + index_left = 0, + index_top = 1, + index_right = 2, + index_bottom = 3, + index_width = index_left, + index_height = index_top + }; + explicit metric_extractor_t(const dictionary_t& dictionary) : dictionary_m(dictionary) *************** *** 67,70 **** --- 85,100 ---- } + long operator () (const name_t& tag, array_index_t index) const + { + adobe::array_t array_result; + long result(0); + + dictionary_m.get(tag, array_result); + + array_result.get(std::size_t(index), result); + + return result; + } + private: dictionary_t dictionary_m; |
|
From: Foster B. <fos...@us...> - 2005-04-13 16:21:57
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2921/adobe-source/adobe Modified Files: cmath.hpp config.hpp Log Message: Beginning widget library documenation; more config.hpp options (thanks Boost!) Index: config.hpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/config.hpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** config.hpp 13 Apr 2005 12:30:27 -0000 1.6 --- config.hpp 13 Apr 2005 16:20:58 -0000 1.7 *************** *** 44,64 **** /*************************************************************************************************/ ! // REVISIT (fbrereto) : Should cygwin be considered as part of the Windows platform target? ! #if defined(BOOST_MSVC) || defined(__MINGW32__) || defined(__CYGWIN__) ! #define ADOBE_PLATFORM_WIN 1 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) ! #define ADOBE_PLATFORM_MAC 1 ! #elif defined(__linux__) || defined(__unix) ! #define ADOBE_PLATFORM_UNIX 1 #else ! ! #error "Your platform is unknown." #endif --- 44,100 ---- /*************************************************************************************************/ ! // Big thanks to Boost here for doing a majority of the work for us. ! #if defined(linux) || defined(__linux) || defined(__linux__) ! // Linux ! #define ADOBE_PLATFORM_LINUX 1 ! #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) ! // BSD ! #define ADOBE_PLATFORM_BSD 1 ! ! #elif defined(sun) || defined(__sun) ! // Solaris ! #define ADOBE_PLATFORM_SOLARIS 1 ! ! #elif defined(__sgi) ! // SGI Irix ! #define ADOBE_PLATFORM_IRIX 1 ! ! #elif defined(__hpux) ! // HP Unix ! #define ADOBE_PLATFORM_HPUX 1 ! ! #elif defined(__CYGWIN__) ! // Cygwin is not Win32 ! #define ADOBE_PLATFORM_CYGWIN 1 ! ! #elif defined(BOOST_WINDOWS) || defined(__MINGW32__) ! // Win32 ! #define ADOBE_PLATFORM_WIN 1 ! ! #elif defined(__BEOS__) ! // BeOS ! #define ADOBE_PLATFORM_BEOS 1 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) + // MacOS + #define ADOBE_PLATFORM_MAC 1 ! #elif defined(__IBMCPP__) ! // IBM ! #define ADOBE_PLATFORM_AIX 1 ! #elif defined(__amigaos__) ! // AmigaOS ! #define ADOBE_PLATFORM_AMIGA 1 ! #elif defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE) ! // Generic Unix ! #define ADOBE_PLATFORM_UNIX 1 #else ! // Unknown ! #error "Unknown platform - please configure and report the results to opensource.adobe.com" #endif Index: cmath.hpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/cmath.hpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** cmath.hpp 13 Apr 2005 12:30:27 -0000 1.6 --- cmath.hpp 13 Apr 2005 16:20:58 -0000 1.7 *************** *** 34,38 **** } // namespace adobe ! #elif defined(ADOBE_PLATFORM_WIN) || defined(ADOBE_PLATFORM_UNIX) namespace adobe { --- 34,40 ---- } // namespace adobe ! #elif defined(ADOBE_PLATFORM_WIN) || \ ! defined(ADOBE_PLATFORM_UNIX) || \ ! defined(ADOBE_PLATFORM_LINUX) namespace adobe { |
|
From: Foster B. <fos...@us...> - 2005-04-13 16:21:57
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2921/adobe-source/adobe/source Modified Files: eve.cpp xstr.cpp Log Message: Beginning widget library documenation; more config.hpp options (thanks Boost!) Index: xstr.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/source/xstr.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** xstr.cpp 12 Apr 2005 18:54:52 -0000 1.5 --- xstr.cpp 13 Apr 2005 16:21:15 -0000 1.6 *************** *** 295,306 **** adobe::remove_const(attribute_context) = adobe::name_t("context"); ! #if ADOBE_PLATFORM_MAC ! default_context_s.push_back(std::make_pair(attribute_platform, adobe::static_name_t("macintosh"))); #elif ADOBE_PLATFORM_WIN ! default_context_s.push_back(std::make_pair(attribute_platform, adobe::static_name_t("windows"))); #else ! default_context_s.push_back(std::make_pair(attribute_platform, adobe::static_name_t("unknown"))); #endif ! default_context_s.push_back(std::make_pair(attribute_lang, adobe::static_name_t("en-us"))); --- 295,327 ---- adobe::remove_const(attribute_context) = adobe::name_t("context"); ! default_context_s.push_back(std::make_pair(attribute_platform, adobe::static_name_t( ! #if ADOBE_PLATFORM_LINUX ! "linux" ! #elif ADOBE_PLATFORM_BSD ! "bsd" ! #elif ADOBE_PLATFORM_SOLARIS ! "solaris" ! #elif ADOBE_PLATFORM_IRIX ! "irix" ! #elif ADOBE_PLATFORM_HPUX ! "hpux" ! #elif ADOBE_PLATFORM_CYGWIN ! "cygwin" #elif ADOBE_PLATFORM_WIN ! "windows" ! #elif ADOBE_PLATFORM_BEOS ! "beos" ! #elif ADOBE_PLATFORM_MAC ! "macintosh" ! #elif ADOBE_PLATFORM_AIX ! "aix" ! #elif ADOBE_PLATFORM_AMIGA ! "amiga" ! #elif ADOBE_PLATFORM_UNIX ! "unix" #else ! "unknown" #endif ! ))); default_context_s.push_back(std::make_pair(attribute_lang, adobe::static_name_t("en-us"))); *************** *** 706,710 **** content ! = *( boost::spirit::print_p - '<' ) ; --- 727,731 ---- content ! = *( ( boost::spirit::space_p | boost::spirit::print_p ) - boost::spirit::ch_p('<') ) ; Index: eve.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/source/eve.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** eve.cpp 13 Apr 2005 12:30:28 -0000 1.6 --- eve.cpp 13 Apr 2005 16:21:15 -0000 1.7 *************** *** 24,27 **** --- 24,29 ---- #include <adobe/eve.hpp> + #include <adobe/cmath.hpp> + #include <adobe/algorithm.hpp> #include <adobe/functional.hpp> *************** *** 41,50 **** /*************************************************************************************************/ - #if defined(ADOBE_PLATFORM_WIN) || defined(ADOBE_PLATFORM_UNIX) - #include <cmath> - #endif - - /*************************************************************************************************/ - namespace adobe { --- 43,46 ---- |
|
From: Foster B. <fos...@us...> - 2005-04-13 16:21:57
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/documentation/sources In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2921/adobe-source/adobe/documentation/sources Modified Files: documentation.doxygen Log Message: Beginning widget library documenation; more config.hpp options (thanks Boost!) Index: documentation.doxygen =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/documentation/sources/documentation.doxygen,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** documentation.doxygen 7 Apr 2005 00:53:25 -0000 1.2 --- documentation.doxygen 13 Apr 2005 16:20:59 -0000 1.3 *************** *** 494,499 **** ./asl/string.dox \ ./asl \ - ./asl/related/widget_reference.dox \ ./tutorials \ ../../algorithm.hpp \ ../../array.hpp \ --- 494,501 ---- ./asl/string.dox \ ./asl \ ./tutorials \ + ./widget_lib/widget_lib.dox \ + ./widget_lib/widget_metrics.dox \ + ./widget_lib/widget_reference.dox \ ../../algorithm.hpp \ ../../array.hpp \ *************** *** 546,550 **** ../../source/value.cpp \ ../../source/virtual_machine.cpp \ ! ../../source/xstr.cpp # If the value of the INPUT tag contains directories, you can use the --- 548,553 ---- ../../source/value.cpp \ ../../source/virtual_machine.cpp \ ! ../../source/xstr.cpp \ ! ../../test/visual/headers/mac/ui_core_implementation.hpp # If the value of the INPUT tag contains directories, you can use the |
|
From: Foster B. <fos...@us...> - 2005-04-13 16:21:28
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources/mac In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2921/adobe-source/adobe/test/visual/sources/mac Modified Files: metrics.cpp ui_core_implementation.cpp Log Message: Beginning widget library documenation; more config.hpp options (thanks Boost!) Index: metrics.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources/mac/metrics.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** metrics.cpp 12 Apr 2005 17:24:49 -0000 1.1 --- metrics.cpp 13 Apr 2005 16:21:17 -0000 1.2 *************** *** 13,16 **** --- 13,17 ---- #include <adobe/virtual_machine.hpp> #include <adobe/source/expression_parser.hpp> + #include <adobe/name.hpp> #include <adobe/dictionary.hpp> #include <adobe/array.hpp> *************** *** 40,44 **** /****************************************************************************************************/ ! dictionary_t widget_metrics(const dictionary_t& context) { dictionary_t result; --- 41,45 ---- /****************************************************************************************************/ ! dictionary_t widget_metrics(const std::string& xstr, const dictionary_t& context) { dictionary_t result; *************** *** 46,51 **** try { ! std::string metric_xstr("<xstr id='metric'/>"); ! std::stringstream expression_stream(std::string(xstr_t(metric_xstr.c_str(), metric_xstr.size(), context).get())); expression_parser parser(expression_stream, line_position_t("widget_metrics")); array_t expression; --- 47,51 ---- try { ! std::stringstream expression_stream(std::string(xstr_t(xstr.c_str(), xstr.size(), context).get())); expression_parser parser(expression_stream, line_position_t("widget_metrics")); array_t expression; Index: ui_core_implementation.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/sources/mac/ui_core_implementation.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** ui_core_implementation.cpp 12 Apr 2005 17:24:49 -0000 1.9 --- ui_core_implementation.cpp 13 Apr 2005 16:21:17 -0000 1.10 *************** *** 44,53 **** #define ADOBE_WIDGET_TAG_BOILERPLATE(widget, static_tag) \ ! template <> name_t widget_tag<widget>(const widget&) { return static_name_t(static_tag); } ! template <typename T> name_t widget_tag(const T&) { return static_name_t("unknown"); } ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::checkbox_t::implementation_t, "checkbox") ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::radio_button_t::implementation_t, "radio_button") /****************************************************************************************************/ --- 44,66 ---- #define ADOBE_WIDGET_TAG_BOILERPLATE(widget, static_tag) \ ! template <> std::string widget_tag<widget>(const widget&) { return std::string(static_tag); } ! template <typename T> std::string widget_tag(const T&) { return std::string("<xstr id='metric_unknown'/>{ }</xstr>"); } ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::group_t::implementation_t, "<xstr id='metric_group'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::tab_group_t::implementation_t, "<xstr id='metric_tab_group'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::button_t::implementation_t, "<xstr id='metric_button'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::panel_t::implementation_t, "<xstr id='metric_panel'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::radio_button_t::implementation_t, "<xstr id='metric_radio_button'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::checkbox_t::implementation_t, "<xstr id='metric_checkbox'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::link_t::implementation_t, "<xstr id='metric_link'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::progress_bar_t::implementation_t, "<xstr id='metric_progress_bar'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::separator_t::implementation_t, "<xstr id='metric_separator'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::static_text_t::implementation_t, "<xstr id='metric_static_text'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::edit_text_t::implementation_t, "<xstr id='metric_edit_text'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::popup_t::implementation_t, "<xstr id='metric_popup'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::unit_edit_text_t::implementation_t, "<xstr id='metric_unit_edit_text'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::slider_t::implementation_t, "<xstr id='metric_slider'/>"); ! ADOBE_WIDGET_TAG_BOILERPLATE(adobe::bevel_button_t::implementation_t, "<xstr id='metric_bevel_button'/>"); /****************************************************************************************************/ *************** *** 72,89 **** adobe::static_name_t k_attribute_theme_small("small"); adobe::static_name_t k_attribute_theme_mini("mini"); - adobe::static_name_t k_attribute_widget("widget"); ! adobe::static_name_t k_metric_height("height"); ! adobe::static_name_t k_metric_width("width"); ! adobe::static_name_t k_metric_fudge_top("fudge_top"); ! adobe::static_name_t k_metric_fudge_left("fudge_left"); ! adobe::static_name_t k_metric_fudge_height("fudge_height"); ! adobe::static_name_t k_metric_fudge_width("fudge_width"); ! adobe::static_name_t k_metric_fudge_baseline("fudge_baseline"); ! adobe::static_name_t k_metric_outset_top("outset_top"); ! adobe::static_name_t k_metric_outset_left("outset_left"); ! adobe::static_name_t k_metric_outset_bottom("outset_bottom"); ! adobe::static_name_t k_metric_outset_right("outset_right"); ! adobe::static_name_t k_metric_text_gap("text_gap"); /****************************************************************************************************/ --- 85,95 ---- adobe::static_name_t k_attribute_theme_small("small"); adobe::static_name_t k_attribute_theme_mini("mini"); ! adobe::static_name_t k_metric_size("size"); ! adobe::static_name_t k_metric_adjust_position("adjust_position"); ! adobe::static_name_t k_metric_adjust_size("adjust_size"); ! adobe::static_name_t k_metric_adjust_baseline("adjust_baseline"); ! adobe::static_name_t k_metric_outset("outset"); ! adobe::static_name_t k_metric_spacing("spacing"); /****************************************************************************************************/ *************** *** 1911,1917 **** context_write[k_attribute_theme] = adobe::value_t(attribute_theme_value); - context_write[k_attribute_widget] = adobe::value_t(widget_tag(w)); ! return adobe::metric_extractor_t(widget_metrics(context)); } --- 1917,1922 ---- context_write[k_attribute_theme] = adobe::value_t(attribute_theme_value); ! return adobe::metric_extractor_t(widget_metrics(widget_tag(w), context)); } *************** *** 1940,1958 **** } ! result.height() = w.metrics_m(k_metric_height) - w.metrics_m(k_metric_fudge_height); ! result.width() = w.metrics_m(k_metric_width) - w.metrics_m(k_metric_fudge_width); if (text_width != 0) ! result.width() += text_width + w.metrics_m(k_metric_text_gap); if (text_baseline != -1) ! result.slice_m[adobe::rectangle_slices_t::vertical].poi_m.push_back(text_baseline - w.metrics_m(k_metric_fudge_baseline)); // adjust outsets in accordance with the fudges ! result.slice_m[adobe::rectangle_slices_t::vertical].outset_m.first += w.metrics_m(k_metric_outset_top); ! result.slice_m[adobe::rectangle_slices_t::vertical].outset_m.second -= w.metrics_m(k_metric_outset_top) + w.metrics_m(k_metric_outset_bottom); ! result.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.first += w.metrics_m(k_metric_outset_left); ! result.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.second -= w.metrics_m(k_metric_outset_left) + w.metrics_m(k_metric_outset_right); return result; --- 1945,1975 ---- } ! result.height() = w.metrics_m(k_metric_size, adobe::metric_extractor_t::index_height) - ! w.metrics_m(k_metric_adjust_size, adobe::metric_extractor_t::index_height); ! result.width() = w.metrics_m(k_metric_size, adobe::metric_extractor_t::index_width) - ! w.metrics_m(k_metric_adjust_size, adobe::metric_extractor_t::index_width); if (text_width != 0) ! result.width() += text_width + w.metrics_m(k_metric_spacing); if (text_baseline != -1) ! result.slice_m[adobe::rectangle_slices_t::vertical].poi_m.push_back(text_baseline - w.metrics_m(k_metric_adjust_baseline)); // adjust outsets in accordance with the fudges ! result.slice_m[adobe::rectangle_slices_t::vertical].outset_m.first += ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_top); ! ! result.slice_m[adobe::rectangle_slices_t::vertical].outset_m.second -= ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_top) + ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_bottom); ! ! ! result.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.first += ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_left); ! ! result.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.second -= ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_left) + ! w.metrics_m(k_metric_outset, adobe::metric_extractor_t::index_right); return result; *************** *** 1982,1995 **** void shed_fudges(const adobe::control_t& control, adobe::point_t& position, adobe::rectangle_t& geometry) { ! position.first = position.first - control.metrics_m(k_metric_fudge_left) - geometry.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.first; ! position.second = position.second - control.metrics_m(k_metric_fudge_top) - geometry.slice_m[adobe::rectangle_slices_t::vertical].outset_m.first; long outset_height( geometry.slice_m[adobe::rectangle_slices_t::vertical].outset_m.first + geometry.slice_m[adobe::rectangle_slices_t::vertical].outset_m.second); long outset_width( geometry.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.first + geometry.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.second); ! geometry.height() += control.metrics_m(k_metric_fudge_height) + outset_height; ! geometry.width() += control.metrics_m(k_metric_fudge_width) + outset_width; } --- 1999,2019 ---- void shed_fudges(const adobe::control_t& control, adobe::point_t& position, adobe::rectangle_t& geometry) { ! position.first = position.first - ! control.metrics_m(k_metric_adjust_position, adobe::metric_extractor_t::index_left) - ! geometry.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.first; ! ! position.second = position.second - ! control.metrics_m(k_metric_adjust_position, adobe::metric_extractor_t::index_top) - ! geometry.slice_m[adobe::rectangle_slices_t::vertical].outset_m.first; ! long outset_height( geometry.slice_m[adobe::rectangle_slices_t::vertical].outset_m.first + geometry.slice_m[adobe::rectangle_slices_t::vertical].outset_m.second); + long outset_width( geometry.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.first + geometry.slice_m[adobe::rectangle_slices_t::horizontal].outset_m.second); ! geometry.height() += control.metrics_m(k_metric_adjust_size, adobe::metric_extractor_t::index_height) + outset_height; ! geometry.width() += control.metrics_m(k_metric_adjust_size, adobe::metric_extractor_t::index_width) + outset_width; } *************** *** 2642,2650 **** assert(control_m); ! std::string name(get_control_title(control_m)); ! if (name == std::string()) return rectangle_t(); ! return get_text_dimensions(name, theme_m); } --- 2666,2674 ---- assert(control_m); ! rectangle_t result(widget_best_bounds(*this, get_control_title(control_m))); ! result.slice_m[rectangle_slices_t::vertical].frame_m.first = result.height(); ! return result; } *************** *** 2906,2911 **** assert(first != last); - //fudges_m.bottom() = 1; - std::copy(first, last, std::back_inserter<implementation_t::state_set_t>(state_set_m)); --- 2930,2933 ---- *************** *** 2925,2958 **** assert(control_m); ! rectangle_t result(_super::best_bounds()); ! std::string cur_title(get_control_title(control_m)); ! ! /* ! REVISIT (sparent) : Apparently in Mac OS X 10.3.5 there is a bug where ::SetControlTitleWithCFString() ! won't terminate (at least not in any reasonable time) if the button is very large (we are currently ! defaulting to 2K x 2K pixels). So before we set the title we adjust the bounds with ::SetControlBounds(). ! */ ! ! set_bounds(point_t(), result); ! ! implementation_t::state_set_t::iterator first(state_set_m.begin()); ! implementation_t::state_set_t::iterator last(state_set_m.end()); ! ! for (; first != last; ++first) ! { ! set_control_title(control_m, first->name_m); ! ! rectangle_t temp(_super::best_bounds()); ! ! if (temp.height() > result.height()) ! result.slice_m[rectangle_slices_t::vertical] = temp.slice_m[rectangle_slices_t::vertical]; ! ! if (temp.width() > result.width()) ! result.slice_m[rectangle_slices_t::horizontal] = temp.slice_m[rectangle_slices_t::horizontal]; ! } ! set_control_title(control_m, cur_title); ! return result; } --- 2947,2957 ---- assert(control_m); ! std::vector<std::string> name_set; ! adobe::for_each(state_set_m, ! boost::bind(&std::vector<std::string>::push_back, boost::ref(name_set), ! boost::bind(&state_set_t::value_type::name_m, _1))); ! return widget_best_bounds(*this, &name_set[0], &name_set[0] + name_set.size()); } *************** *** 3716,3720 **** /* REVISIT (sparent) : Set outsets here. */ ! return result; } --- 3715,3721 ---- /* REVISIT (sparent) : Set outsets here. */ ! rectangle_t lame_cw_debugger_issue(result); ! ! return lame_cw_debugger_issue; } *************** *** 4243,4247 **** unit_edit_text_t::implementation_t::implementation_t() : ! using_popup_m(false), popup_width_m(0), popup_height_m(0), popup_adjust_m(0), edit_width_m(0) { } --- 4244,4248 ---- unit_edit_text_t::implementation_t::implementation_t() : ! _super(), using_popup_m(false), popup_width_m(0), popup_height_m(0), popup_adjust_m(0), edit_width_m(0) { } *************** *** 4340,4344 **** /* REVISIT (sparent) : Set outsets here. */ ! return result; } --- 4341,4347 ---- /* REVISIT (sparent) : Set outsets here. */ ! rectangle_t lame_cw_debugger_issue(result); ! ! return lame_cw_debugger_issue; } |
|
From: Foster B. <fos...@us...> - 2005-04-13 16:21:26
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/resources In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2921/adobe-source/adobe/test/visual/resources Modified Files: metrics_glossary.xstr Log Message: Beginning widget library documenation; more config.hpp options (thanks Boost!) Index: metrics_glossary.xstr =================================================================== RCS file: /cvsroot/adobe-source/sandbox/adobe-source/adobe/test/visual/resources/metrics_glossary.xstr,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** metrics_glossary.xstr 12 Apr 2005 17:24:47 -0000 1.1 --- metrics_glossary.xstr 13 Apr 2005 16:21:16 -0000 1.2 *************** *** 1,6 **** ! <xstr id='metric' widget='checkbox'>{ height: 16, width: 18, text_gap: 4, fudge_left: 2, fudge_top: -1, fudge_height: 2, fudge_baseline: 1, fudge_width: 4, outset_top: 2 }</xstr> ! <xstr id='metric' widget='checkbox' theme='small'>{ height: 14, width: 15, text_gap: 6, fudge_top: -1, fudge_left: 1, fudge_baseline: 1, fudge_height: 2, fudge_width: 3, outset_top: 2 }</xstr> ! <xstr id='metric' widget='checkbox' theme='mini'>{ height: 10, width: 10, text_gap: 4, outset_top: 1 }</xstr> ! <xstr id='metric' widget='radio_button'>{ height: 16, width: 19, fudge_left: 1, fudge_top: -1, fudge_width: 5, fudge_height: 1, outset_right: 1, outset_left: 1, outset_bottom: 1, text_gap: 4 }</xstr> ! <xstr id='metric' widget='radio_button' theme='small'>{ height: 13, width: 14, fudge_top: -1, fudge_baseline: -1, text_gap: 4 }</xstr> ! <xstr id='metric' widget='radio_button' theme='mini'>{ height: 10, width: 10, outset_bottom: 1, fudge_baseline: -1, text_gap: 4 }</xstr> --- 1,15 ---- ! <xstr id='metric_checkbox'> { size: [ 18, 16 ], adjust_size: [ 4, 2 ], spacing: 4, adjust_position: [ 2, -1 ], outset: [ 0, 2, 0, 0 ], adjust_baseline: 1 }</xstr> ! <xstr id='metric_checkbox' theme='small'> { size: [ 15, 14 ], adjust_size: [ 3, 2 ], spacing: 6, adjust_position: [ -1, 1 ], outset: [ 0, 2, 0, 0 ], adjust_baseline: 1 }</xstr> ! <xstr id='metric_checkbox' theme='mini'> { size: [ 10, 10 ], spacing: 4, outset: [ 0, 1, 0, 0 ] }</xstr> ! ! <xstr id='metric_radio_button'> { size: [ 19, 16 ], adjust_size: [ 5, 1 ], spacing: 4, adjust_position: [ 1, -1 ], outset: [ 1, 0, 1, 1 ] }</xstr> ! <xstr id='metric_radio_button' theme='small'> { size: [ 14, 13 ], spacing: 4, adjust_position: [ 0, -1 ], outset: [ 0, 0, 0, 1 ], adjust_baseline: -1 }</xstr> ! <xstr id='metric_radio_button' theme='mini'> { size: [ 10, 10 ], spacing: 4, outset: [ 0, 0, 0, 1 ], adjust_baseline: -1 }</xstr> ! ! <xstr id='metric_button'> { size: [ 10, 21 ], adjust_baseline: -2 }</xstr> ! <xstr id='metric_button' theme='small'> { size: [ 10, 18 ], adjust_size: [ -2, 0 ], adjust_position: [ -1, 1 ], adjust_baseline: -2 }</xstr> ! <xstr id='metric_button' theme='mini'> { size: [ 10, 15 ], adjust_size: [ 2, 0 ], adjust_position: [ 1, 0 ], adjust_baseline: -2 }</xstr> ! ! <xstr id='metric_group'> { size: [ 0, 12 ], adjust_position: [ 0, 2 ] }</xstr> ! <xstr id='metric_group' theme='small'> { size: [ 0, 10 ], adjust_position: [ 0, 2 ] }</xstr> ! <xstr id='metric_group' theme='mini'> { size: [ 0, 8], adjust_position: [ 0, 2 ] }</xstr> |
|
From: Foster B. <fos...@us...> - 2005-04-13 16:21:24
|
Update of /cvsroot/adobe-source/sandbox/adobe-source/adobe/documentation/sources/widget_lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2921/adobe-source/adobe/documentation/sources/widget_lib Added Files: widget_lib.dox widget_reference.dox Log Message: Beginning widget library documenation; more config.hpp options (thanks Boost!) --- NEW FILE: widget_lib.dox --- /*! \defgroup widget_lib Widget Library \ingroup asl_home */ --- NEW FILE: widget_reference.dox --- /*! \defgroup widget_reference Widget Reference \ingroup widget_lib \author Sean Parent, Adobe Systems Incorporated \author Foster Brereton, Adobe Systems Incorporated \date January 7, 2005 \section wr_widget_reference_abstract Abstract \par This document serves as a reference guide for the widgets one can define for the current implementation of Adobe Begin. \section wr_toc Table of Contents -# \ref wr_overview -# \ref wr_views_reference -# \ref wr_view_common_attributes -# \ref wr_view_classes -# bevel_button -# \ref wr_bevel_button "button_beveled" -# \ref wr_bevel_button "checkbox_beveled" -# \ref wr_bevel_button "radio_button_beveled" -# \ref wr_bevel_button "popup_beveled" -# \ref wr_button -# \ref wr_checkbox -# \ref wr_edit_number -# \ref wr_edit_text -# \ref wr_link -# \ref wr_popup -# \ref wr_progress_bar -# \ref wr_radio_button -# \ref wr_separator -# \ref wr_slider -# \ref wr_static_text -# \ref wr_containers_reference -# \ref wr_container_common_attributes -# \ref wr_container_classes -# Root-Level Containers -# \ref wr_dialog -# \ref wr_palette -# Nestable Containers -# \ref wr_column -# \ref wr_group -# \ref wr_overlay -# \ref wr_panel -# \ref wr_row -# \ref wr_tab_group \section wr_overview Widget Set Overview \par The widget set is best split into two categories: views and containers. \par A View is a "leaf node" widget like a button or a separator. A view cannot contain any views inside of it. Views define interface elements presented to the user. \par Containers are also views (and inherit all the attributes of a view), but can have subviews within themselves, including other containers. Containment denotes the layout relationships between subviews. Containers do not necessarily add interface elements to the dialog (though they can). \par There is also a set of root container classes. Only one root container is allowed per dialog, and it must be the topmost container in the defintion, otherwise the resulting dialog is undefined. \section wr_views_reference Views Reference \subsection wr_view_common_attributes Common View Attributes \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>indent</code></td> <td><code>number</code></td> <td><code>0</code></td> <td>Cross-stream indentation in pixels.</td> </tr> <tr> <td><code>horizontal</code></td> <td><code>alignment</code></td> <td><code>align_left</code></td> <td></td> </tr> <tr> <td><code>vertical</code></td> <td><code>alignment</code></td> <td><code>align_top</code></td> <td></td> </tr> <tr> <td><code>guide_mask</code></td> <td><code>array</code></td> <td><code>[ ]</code></td> <td>guides to suppress - current values are <code>guide_baseline</code>, <code>guide_label</code>.</td> </tr> <tr> <td><code>name</code></td> <td><code>string</code></td> <td><code>""</code></td> <td>displayed name of view</td> </tr> <tr> <td><code>bind</code></td> <td><code>name</code></td> <td><i>empty</i></td> <td>attached Adam cell</td> </tr> <tr> <td><code>bind_indirect</code></td> <td><code>name</code></td> <td><i>empty</i></td> <td>Adam cell containing the name of the Adam cell to attach</td> </tr> <tr> <td><code>touch</code></td> <td><code>array</code></td> <td>[ ]</td> <td>Adam cells to touch when set</td> </tr> <tr> <td><code>identifier</code></td> <td><code>name</code></td> <td><i>empty</i></td> <td>identifier for this widget</td> </tr> <tr> <td><code>size</code></td> <td>enumeration</td> <td><code>\@size_normal</code></td> <td>Valid values are one of <code>\@size_mini</code>, <code>\@size_small</code>, <code>\@size_normal</code>. Specifies the size of the text used for the widget.</td> </tr> <tr> <td><code>focus</code></td> <td><code>name</code></td> <td><i>empty</i></td> <td>attaches Adam cell to keyboard focus (identifier is value)</td> </tr> </table> \subsection wr_view_classes View Classes \subsubsection wr_bevel_button bevel_button \par The bevel button is a multi-use widget, and can emulate several other types of widgets. In fact, you cannot specify a <code>bevel_button</code> directly, but must invoke it as emulating another widget. The possible <code>bevel_button</code> variants are: - <code>button_beveled</code> - <code>checkbox_beveled</code> - <code>radio_button_beveled</code> - <code>popup_beveled</code> \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>name</code></td> <td><code>string</code></td> <td>""</td> <td>Name of the button</td> </tr> <tr> <td><code>value_on</code></td> <td><code>anything</code></td> <td><code>n/a</code></td> <td>Value to set the bound cell to when clicking the button in the off/neutral state. Useful when behaving as a radio button and checkbox.</td> </tr> <tr> <td><code>value_off</code></td> <td><code>anything</code></td> <td><code>n/a</code></td> <td>value to set the bound cell to when clicking the button in the on state. Useful when behaving as a radio button and checkbox.</td> </tr> <tr> <td><code>popup_bind</code></td> <td><code>name</code></td> <td><i>empty</i></td> <td>name of cell to which bevel button is bound. Useful when behaving as a popup.</td> </tr> <tr> <td><code>items</code></td> <td><code>array</code></td> <td><code>[ ]</code></td> <td>Specifies menu contents. Useful when behaving as a popup.</td> </tr> <tr> <td><code>items[]</code></td> <td><code>dictionary</code></td> <td><code>{ }</code></td> <td>Single menu item specification. Useful when behaving as a popup.</td> </tr> <tr> <td><code>items[].name</code></td> <td><code>string</code></td> <td>""</td> <td>Name of a given menu item. Useful when behaving as a popup.</td> </tr> <tr> <td><code>items[].value</code></td> <td><code>name</code></td> <td><i>empty</i></td> <td>Value to set the popup_bind cell to when this item is selected. Useful when behaving as a popup.</td> </tr> <tr> <td><code>popup_placement</code></td> <td><code>enumeration</code></td> <td><code>\@right</code></td> <td>Valid values are one of <code>\@right</code> or <code>\@down</code>. Arrow direction and menu location. Useful when behaving as a popup.</td> </tr> <tr> <td><code>bevel_thickness</code></td> <td><code>enumeration</code></td> <td><code>\@normal</code></td> <td>Valid values are one of <code>\@small</code>, <code>\@normal</code>, <code>\@large</code>, <code>\@rounded</code>. Specifies bevel button bevel style</td> </tr> </table> \subsubsection wr_button button \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>default</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>set to true for default button behavior</td> </tr> <tr> <td><code>cancel</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>set to true for cancel button behavior</td> </tr> <tr> <td><code>action</code></td> <td><code>enumeration</code></td> <td><i>required</i></td> <td>Valid values are one of <code>\@reset</code>, <code>\@cancel</code>, or <code>\@dialog</code>. Action for button to perform in the default state</td> </tr> <tr> <td><code>bind_output</code></td> <td><code>name</code></td> <td><i>empty</i></td> <td>If set, imposes value to the bound cell. <i>bind_output and action are mutually exclusive. If both are set for a widget then bind_output will take precedence.</i></td> </tr> <tr> <td><code>value</code></td> <td><code>string</code></td> <td>""</td> <td>When the action is <code>\@dialog</code>, specifies the name of the subdialog to open. When bind_output is set, it is the value imposed onto the cell.</td> </tr> <tr> <td><code>items</code></td> <td><code>array</code></td> <td><code>[ ]</code></td> <td>Specifies alternate namings of button based on modifier key states</td> </tr> <tr> <td><code>items[]</code></td> <td><code>dictionary</code></td> <td><code>{ }</code></td> <td>Alternate button state specification</td> </tr> <tr> <td><code>items[].name</code></td> <td><code>string</code></td> <td><code>""</code></td> <td>Name of button for given modifier key state</td> </tr> <tr> <td><code>items[].action</code></td> <td><code>enumeration</code></td> <td><i>required</i></td> <td>Valid values are one of <code>\@reset</code>, <code>\@cancel</code>, or <code>\@dialog</code>. Action button for given modifier key state</td> </tr> <tr> <td><code>items[].value</code></td> <td><code>string</code></td> <td><code>""</code></td> <td>When the action is <code>\@dialog</code> for this state, specifies the name of the subdialog to open</td> </tr> <tr> <td><code>items[].modifiers</code></td> <td><code>enumeration</code></td> <td><i>no modifiers</i></td> <td> Valid values are some name which is a combination of "opt", "ctl", "cmd" <i>in that order</i>. Specification of the button modifier keys that need to be held down for this state to be in effect. For example, <code>\@optctl</code> would set the state to this one when the option and control keys are pressed. Note that the order matters, so <code>\@optctl</code> is valid while <code>\@ctlopt</code> is not. </td> </tr> </table> \subsubsection wr_checkbox checkbox \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>value</code></td> <td><i>any</i></td> <td><i>required</i></td> <td>Value to impose upon the cell when the checkbox is clicked; also the value the cell must be set to in order for the checkbox to display selected. </td> </tr> <tr> <td><code>touch</code></td> <td><code>array of cell names</code></td> <td><code>[ ]</code></td> <td>When a checkbox is hit, specifies the other cells that should be made recently changed as well</td> </tr> </table> \subsubsection wr_edit_number edit_number \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>digits</code></td> <td><code>number</code></td> <td><code>5</code></td> <td>specifies width as approximate number of characters</td> </tr> <tr> <td><code>display_disable</code></td> <td><code>bool</code></td> <td><code>false</code></td> <td>When field is disabled, this will replace the edit text field with a static text field</td> </tr> <tr> <td><code>touch</code></td> <td><code>array of cell names</code></td> <td><code>[ ]</code></td> <td>When a field is modified, specifies the other cells that should be made recently changed as well</td> </tr> <tr> <td><code>format</code></td> <td><code>string</code> or <code>name</code></td> <td><code>"#.00"</code></td> <td>printf style format for Adam cell containing format</td> </tr> <tr> <td><code>units</code></td> <td><code>array</code></td> <td><code>[ ]</code></td> <td>Specifies unit popup contents</td> </tr> <tr> <td><code>units[]</code></td> <td><code>dictionary</code></td> <td><code>{ }</code></td> <td>Unit item specification</td> </tr> <tr> <td><code>units[].name</code></td> <td><code>string</code></td> <td>""</td> <td>Name of this popup menu item</td> </tr> <tr> <td><code>units[].bind</code></td> <td><code>name</code></td> <td><i>empty</i></td> <td>Name of cell to bind this popup item value to</td> </tr> <tr> <td><code>units[].format</code></td> <td><code>string</code></td> <td><code>"#.00"</code></td> <td>printf style format for cell value when this popup item is selected</td> </tr> <tr> <td><code>units[].scale</code></td> <td><code>array of two doubles</code></td> <td><code>array(1.0, 0)</code></td> <td> Scale factor for the popup item's value to the bound cell's proper units. This allows you to represent a given cell (say, <code>\@width_pixels</code>) in an arbitrary unit given a linear conversion. The linear formula is <code>y = a(x) + b</code>, so the default settings are simply <code>y = x</code>. As an example, if you cell is saving values in unit inches and you want to display your value in centimeters, the scale would be <code>array(2.54, 0.0)</code>. </td> </tr> </table> \subsubsection wr_edit_text edit_text \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>characters</code></td> <td><code>number</code></td> <td><code>10</code></td> <td>Specifies width as approximate number of characters (columns)</td> </tr> <tr> <td><code>lines</code></td> <td><code>int</code></td> <td><code>1</code></td> <td>Number of lines (rows) tall the edit text field should be</td> </tr> <tr> <td><code>monospaced</code></td> <td><code>bool</code></td> <td><code>false</code></td> <td>Specifies whether or not to use a monospaced 10-point font in this control</td> </tr> <tr> <td><code>scrollable</code></td> <td><code>bool</code></td> <td><code>false</code></td> <td>Specifies whether or not to attach horizontal and vertical scrollers to this text field.</td> </tr> </table> \subsubsection wr_link link \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>count</code></td> <td><code>number</code></td> <td><code>2</code></td> <td>number of prongs drawn in linkage</td> </tr> <tr> <td><code>value_on</code></td> <td><i>any</i></td> <td><i>n/a</i></td> <td>Value that must be set in cell for link to be displayed</td> </tr> <tr> <td><code>value_off</code></td> <td><i>any</i></td> <td><i>n/a</i></td> <td>Value to impose upon bound cell when the link is clicked on</td> </tr> </table> \subsubsection wr_popup popup \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>items</code></td> <td><code>array</code></td> <td><code>[ ]</code></td> <td>array of menu item elements</td> </tr> <tr> <td><code>items[]</code></td> <td><code>dictionary</code></td> <td><i>n/a</i></td> <td>menu item element</td> </tr> <tr> <td><code>items[].name</code></td> <td><code>string</code></td> <td><i>n/a</i></td> <td>name of menu item</td> </tr> <tr> <td><code>items[].value</code></td> <td><i>any</i></td> <td><i>n/a</i></td> <td>value of menu item</td> </tr> </table> \subsubsection wr_progress_bar progress_bar \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>format</code></td> <td><code>dictionary</code></td> <td><code>{ }</code></td> <td>Semantic specification of the progress bar</td> </tr> <tr> <td><code>format.first</code></td> <td><code>long</code></td> <td><code>0</code></td> <td>minimum value allowed</td> </tr> <tr> <td><code>format.last</code></td> <td><code>long</code></td> <td><code>100</code></td> <td>maximum value allowed</td> </tr> <tr> <td><code>format.interval</code></td> <td><code>long</code></td> <td><code>1</code></td> <td>Step value for increments between first and last</td> </tr> <tr> <td><code>is_indeterminate</code></td> <td><code>bool</code></td> <td><code>false</code></td> <td>Specifies an indeterminate (aka barber-pole) progress bar style</td> </tr> <tr> <td><code>is_relevance</code></td> <td><code>bool</code></td> <td><code>false</code></td> <td>Specifies an relevance bar style</td> </tr> <tr> <td><code>orientation</code></td> <td><code>identifier</code></td> <td><code>\@horizontal</code></td> <td>Could also be <code>\@vertical</code>. Specifies the direction of the progress bar.</td> </tr> </table> \subsubsection wr_radio_button radio_button \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>value</code></td> <td><i>any</i></td> <td><i>required</i></td> <td>Value to impose upon the cell when the button is clicked; also the value the cell must be set to in order for the button to display selected. </td> </tr> <tr> <td><code>touch</code></td> <td><code>array of cell names</code></td> <td><code>[ ]</code></td> <td>When a radio button is hit, specifies the other cells that should be made recently changed as well</td> </tr> </table> \subsubsection wr_separator separator \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>orientation</code></td> <td>enumeration</td> <td><code>\@horizontal</code></td> <td>(could also be <code>\@vertical</code>). Specifies the direction of the separator's growth. Alignment for that direction will be set to <code>align_fill</code>.</td> </tr> </table> \subsubsection wr_slider slider \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>format</code></td> <td><code>dictionary</code></td> <td><code>{ }</code></td> <td>Semantic specification of the slider</td> </tr> <tr> <td><code>format.first</code></td> <td><code>long</code></td> <td><code>0</code></td> <td>minimum value allowed</td> </tr> <tr> <td><code>format.last</code></td> <td><code>long</code></td> <td><code>100</code></td> <td>maximum value allowed</td> </tr> <tr> <td><code>format.interval</code></td> <td><code>long</code></td> <td><code>1</code></td> <td>Step value for increments between first and last</td> </tr> </table> \subsubsection wr_static_text static_text \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>wrap</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>if true, text is wrapped to available space</td> </tr> </table> \section wr_containers_reference Containers Reference \subsection wr_container_common_attributes Common Container Attributes \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>placement</code></td> <td><code>placement</code></td> <td><code>place_column</code></td> <td></td> </tr> <tr> <td><code>child_horizontal</code></td> <td><code>alignment</code></td> <td><code>align_left</code></td> <td></td> </tr> <tr> <td><code>child_vertical</code></td> <td><code>alignment</code></td> <td><code>align_top</code></td> <td></td> </tr> <tr> <td><code>spacing</code></td> <td><code>number</code> or <code>array</code></td> <td><code>space_normal</code></td> <td></td> </tr> </table> \subsection wr_container_classes Container Classes \subsubsection wr_dialog dialog \par This is a root container class.\par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>placement</code></td> <td><code>placement</code></td> <td><code>place_row</code></td> <td>different default than container</td> </tr> <tr> <td><code>metal</code></td> <td><code>bool</code></td> <td><code>false</code></td> <td>Allows for the metallic look on a dialog</td> </tr> <tr> <td><code>grow</code></td> <td><code>bool</code></td> <td><code>false</code></td> <td>allows for the dialog to be resized by the user</td> </tr> </table> \subsubsection wr_palette palette \par This is a root container class.\par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>metal</code></td> <td><code>bool</code></td> <td><code>false</code></td> <td>Allows for the metallic look on a dialog</td> </tr> <tr> <td><code>grow</code></td> <td><code>bool</code></td> <td><code>false</code></td> <td>allows for the dialog to be resized by the user</td> </tr> </table> \subsubsection wr_column column \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>placement</code></td> <td><code>placement</code></td> <td><code>place_column</code></td> <td>a simple column container</td> </tr> </table> \subsubsection wr_group group \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>name</code></td> <td><code>string</code></td> <td>""</td> <td>Name of this group</td> </tr> </table> \subsubsection wr_overlay overlay \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>placement</code></td> <td><code>placement</code></td> <td><code>place_overlay</code></td> <td>a simple overlay container</td> </tr> <tr> <td><code>horizontal</code></td> <td><code>alignment</code></td> <td><code>align_fill</code></td> <td></td> </tr> <tr> <td><code>vertical</code></td> <td><code>alignment</code></td> <td><code>align_fill</code></td> <td></td> </tr> </table> \subsubsection wr_panel panel \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> </table> \subsubsection wr_row row \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code><i>placement</i></code></td> <td><code>placement</code></td> <td><code>place_row</code></td> <td>a simple row container</td> </tr> </table> \subsubsection wr_tab_group tab_group \par <table width='100%'> <tr> <th width="20%">attribute</th> <th width="20%">type</th> <th width="20%">default</th> <th>description</th> </tr> <tr> <td><code>items[]</code></td> <td><code>dictionary</code></td> <td><i>required</i></td> <td>tab specification</td> </tr> <tr> <td><code>items[].name</code></td> <td><code>string</code></td> <td><i>required</i></td> <td>name of the tab</td> </tr> <tr> <td><code>items[].value</code></td> <td><i>any</i></td> <td><i>n/a</i></td> <td>value of the tab</td> </tr> </table> */ |