! 
! Motif
!
! Copyright (c) 1987-2012, The Open Group. All rights reserved.
!
! These libraries and programs are free software; you can
! redistribute them and/or modify them under the terms of the GNU
! Lesser General Public License as published by the Free Software
! Foundation; either version 2 of the License, or (at your option)
! any later version.
!
! These libraries and programs are distributed in the hope that
! they will be useful, but WITHOUT ANY WARRANTY; without even the
! implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
! PURPOSE. See the GNU Lesser General Public License for more
! details.
!
! You should have received a copy of the GNU Lesser General Public
! License along with these librararies and programs; if not, write
! to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
! Floor, Boston, MA 02110-1301 USA
! 
! 
! HISTORY
! 
!   $XConsortium: dataS.uil /main/4 1995/07/13 20:35:44 drk $
!******************************************************************************

module dataS

	version = 'v1.0'
	names = case_sensitive


!
! Simple test
!

value
	boolean1	: exported true;
	boolean2	: exported false;

value
	black		: exported color('black', foreground);
	white		: exported color('white', background);
	red		: exported color('red', background);
	green		: exported color('green', foreground);
	blue		: exported color('blue', background);

value
	zilch		: exported rgb(0, 0, 0);
	coral		: exported rgb(65025, 12996, 7396);

value
	float1		: exported 3.14159;
	float2		: exported float(6000);
	float3		: exported float(-4579);
	float4		: exported float(0);

value
	sfloat1		: exported single_float(3.14159);
	sfloat2		: exported single_float(6000);
	sfloat3		: exported single_float(-4579);
	sfloat4		: exported single_float(0);

value
	integer1	: exported 0;
	integer2	: exported -444;
	integer3	: exported 53;

value
	string1		: exported "";
	string2		: exported "teSt String1";

value
	bigQ		: exported keysym("Q");
	littleS		: exported keysym("s");
	three		: exported keysym("3");
		
!
! Pixmap test
!

value
	button_ct	: color_table(	black='+',
					white=' ');

        icon1: exported icon(color_table=button_ct,
		'+++++++++++++++++++++++++',
		' ++++++++++++++++++++++++',
		'+                      ++',
		' +                     ++',
		'+   +++++++++++++++++  ++',
		' +  ++++++    +++++++  ++',
		'+   ++++++ +++ ++++++  ++',
		' +  ++++++    +++++++  ++',
		'+   ++++++ +++ ++++++  ++',
		' +  ++++++    +++++++  ++',
		'+   +++++++++++++++++  ++',
		' +  ++++++     ++++++  ++',
		'+   ++++++++ ++++++++  ++',
		' +  ++++++++ ++++++++  ++',
		'+   ++++++++ ++++++++  ++',
		' +  ++++++++ ++++++++  ++',
		'+   +++++++++++++++++  ++',
		' +  ++++++  ++ ++++++  ++',
		'+   ++++++  ++ ++++++  ++',
		' +  ++++++ + + ++++++  ++',
		'+   ++++++ ++  ++++++  ++',
		' +  ++++++ ++  ++++++  ++',
		'+   +++++++++++++++++  ++',
		' +                     ++',
		'+                      ++',
		' + + + + + + + + + + + ++',
		'+ + + + + + + + + + + + +');

	icon2: exported xbitmapfile('icon2.xbm');

!
! Font test
!

value
        font1	: exported font('8x13bold');
        font2	: exported font('8x13bold', character_set = iso_latin1);
        font3	: exported font('variable');
        font4	: exported font('variable', character_set = iso_latin6);

!
! CompoundS test
!

value
	compound_string1 : exported compound_string('string1');
	compound_string2 : exported compound_string(#iso_latin1'string1');
	compound_string3 : exported compound_string('string1', character_set = iso_latin1);

value
	direction1 : exported compound_string(#iso_hebrew"ABC",right_to_left=false);
	direction2 : exported compound_string(#iso_hebrew"DEF",right_to_left=true);
	direction3 : exported compound_string(#iso_hebrew"GHI");
	direction4 : exported compound_string(#iso_hebrew_lr"JKL");
	direction5 : exported compound_string(#iso_hebrew_lr"MNO",right_to_left=false);
	direction6 : exported compound_string(#iso_hebrew_lr"PQR",right_to_left=true);
	direction7 : exported compound_string(#iso_latin1"STU");
	direction8 : exported compound_string(#iso_latin1"VWX",right_to_left=false);
	direction9 : exported compound_string(#iso_latin1"YZA",right_to_left=true);

!
! Table tests
!

procedure
	integer_table_proc(integer_table);
	compound_string_table_proc(string_table);
	asciz_string_table_proc(asciz_table);
	font_table_proc(font_table);
	identifier_proc(integer);

!
! Identifiers
!

identifier
	ident1;
	ident2;

!
! Integer
!

value
	int1 : 628;
	int2 : 0;
	int3 : -90009;
	int4 : 4883;
	int5 : -29;

	integer_table1 : integer_table(int1, int2, int3, int4, int5);

!
! Test for CR 5691
!
value
	integer_table2: integer_table(628, 0, -90009, 4883, -29);

!
! Compound String
!

value
	c_string1 : compound_string('stR') &
		    compound_string('Ing1');
	c_string2 : compound_string(#iso_latin1'string number 2');
	c_string3 : compound_string('Third string', character_set = iso_latin6);

	string_table1 : compound_string_table(	c_string1,
						c_string2,
						c_string3);
!
! Asciz String
!

value
	a_string1 : "a_string";
	a_string2 : "ThiS_stRing2";
	a_string3 : "3_stringG";
	a_string4 : "String_4_U";

	string_table2 : asciz_string_table(	a_string1,
						a_string2,
						a_string3,
						a_string4);

!
! Font
!

	f_font1 : font('fixed');
	f_font2 : font('6x10', character_set = iso_latin1);
        f_font3 : font('8x13bold', character_set = iso_latin6);

	font_table1 : font_table(f_font1, f_font2, f_font3);

!
! Widgets for use in various tests
!

object
	widget1 : XmLabel
	{
		arguments
		{
			XmNfontList		= font1;
			XmNlabelString		= compound_string1;
		};
	};

	widget2 : XmLabel
	{
		arguments
		{
			XmNfontList		= font2;
			XmNlabelString		= compound_string2;
		};
	};

	widget3 : XmLabel
	{
		arguments
		{
			XmNfontList		= font3;
			XmNlabelString		= compound_string3;
		};
	};

	widget4 : XmLabel
	{
		arguments
		{
			XmNfontList		= font4;
		};
	};

	widget5 : XmPushButton
	{
		callbacks
		{
			XmNactivateCallback = procedure
					 integer_table_proc(integer_table1);
		};
	};

!
! Test for CR 5691
!
         widget5a : XmPushButton
         {
                 callbacks
                 {
                         XmNactivateCallback = procedure
                                          integer_table_proc(integer_table2);
                 };
         };

	widget6 : XmPushButton
	{
		callbacks
		{
			XmNactivateCallback = procedure
				compound_string_table_proc(string_table1);
		};
	};
		
	widget7 : XmPushButton
	{
		callbacks
		{
			XmNactivateCallback = procedure
				asciz_string_table_proc(string_table2);
		};
	};
		
	widget8 : XmPushButton
	{
		callbacks
		{
			XmNactivateCallback = procedure
				font_table_proc(font_table1);
		};
	};
		
	widget9 : XmPushButton
	{
		arguments
		{
			XmNx			= ident1;
		};

		callbacks
		{
			XmNactivateCallback = procedure
				identifier_proc(ident2);
		};
	};

end module;




