/*******************************************************************************
*
* E M B E D D E D   W I Z A R D   P R O J E C T
*
*                                                Copyright (c) TARA Systems GmbH
*                                    written by Paul Banach and Manfred Schweyer
*
********************************************************************************
*
* This file was generated automatically by Embedded Wizard Studio.
*
* Please do not make any modifications of this file! The modifications are lost
* when the file is generated again by Embedded Wizard Studio!
*
* The template of this heading text can be found in the file 'head.ewt' in the
* directory 'Platforms' of your Embedded Wizard installation directory. If you
* wish to adapt this text, please copy the template file 'head.ewt' into your
* project directory and edit the copy only. Please avoid any modifications of
* the original template file!
*
* Version  : 9.20
* Profile  : Profile
* Platform : NXP.iMX_RT.RGBA8888
*
*******************************************************************************/

#include "ewlocale.h"
#include "_CoreKeyPressHandler.h"
#include "_CoreSimpleTouchHandler.h"
#include "_CoreTimer.h"
#include "_CoreView.h"
#include "_ResourcesBitmap.h"
#include "_ResourcesFont.h"
#include "_ViewsFrame.h"
#include "_ViewsImage.h"
#include "_ViewsText.h"
#include "_WidgetSetPushButton.h"
#include "_WidgetSetPushButtonConfig.h"
#include "_WidgetSetWidgetConfig.h"
#include "Core.h"
#include "Resources.h"
#include "Views.h"
#include "WidgetSet.h"

/* Constant values used in this 'C' module only. */
static const XColor _Const0000 = { 0xFF, 0xFF, 0xFF, 0xFF };
static const XColor _Const0001 = { 0xA8, 0xAB, 0xAB, 0xFF };
static const XColor _Const0002 = { 0x6C, 0x6E, 0x70, 0xFF };
static const XColor _Const0003 = { 0xA8, 0xAB, 0xAB, 0xAA };
static const XPoint _Const0004 = { 34, 34 };
static const XColor _Const0005 = { 0x00, 0x00, 0x00, 0xFF };
static const XRect _Const0006 = {{ 0, 0 }, { 150, 50 }};
static const XPoint _Const0007 = { 0, 50 };
static const XPoint _Const0008 = { 150, 50 };
static const XPoint _Const0009 = { 150, 0 };
static const XPoint _Const000A = { 0, 0 };

/* Bitmap resource : 'WidgetSet::PushButtonMedium' */
EW_DEFINE_BITMAP_RES( WidgetSetPushButtonMedium )
  EW_BITMAP_FRAMES( WidgetSetPushButtonMedium, Default, EW_DRIVER_VARIANT_RGBA8888, 51, 51, 0 )
    EW_BITMAP_FRAME( 9, 8, 33, 35, 0x00000000, 0x00000000 ),
    EW_BITMAP_FRAME( 9, 8, 33, 35, 0x00000600, 0x00000000 ),
    EW_BITMAP_FRAME( 9, 8, 33, 35, 0x00000C88, 0x00000000 ),
    EW_BITMAP_FRAME( 9, 8, 33, 35, 0x00001308, 0x00000000 )

  EW_BITMAP_PIXEL( WidgetSetPushButtonMedium, Default )         /* ratio 15.91 % */
    0x1C080100, 0xC1A0B048, 0x8E110883, 0xC06200F8, 0x1E111042, 0xE2787882, 0x31878B21,
    0xC8D0CE1E, 0x8F46E191, 0x147C411D, 0xC9A47219, 0x32412892, 0x22F0C8CC, 0x270C8AC3,
    0x70C88C32, 0x389BC240, 0x89DCEA73, 0x8782E1F3, 0x48CA1E24, 0xD1655249, 0x268D27A3,
    0xA9744A45, 0x8D50A6D3, 0x9418650E, 0x589E02E1, 0x787D62B3, 0x9288A1E0, 0x30D2BE26,
    0x0F888432, 0x5CDE6E38, 0xD1A8B459, 0x2C94499F, 0x89A4D24D, 0x9C4DA993, 0xABC2B93C,
    0xBCDEEF97, 0xF602FB7F, 0x61B0784B, 0x2B0388C1, 0xAE97AC2E, 0xD972B85D, 0x96AB45BA,
    0x23B0D9AC, 0xCAFD1068, 0xCFD680F0, 0xC0421F3C, 0x898551A8, 0x9CD03513, 0x13051339,
    0x44A14DA6, 0xCD75328D, 0xFC55AA14, 0xF562A54E, 0xDF6F374F, 0xFF0777BD, 0xF1B81C2D,
    0x2B89C8E2, 0xF8FCCE1F, 0x93CDE772, 0x5B8DB3FF, 0xB0D76D36, 0x8D36B355, 0x104B243A,
    0x1F8B4010, 0x494330F8, 0x20B2582D, 0xD4AA0EC1, 0xA0F05529, 0xAAB7C753, 0xB46D2BD5,
    0xF68AE16A, 0x6730980B, 0x0C6314C3, 0x38120280, 0x16078060, 0x0C81A088, 0x82A0E82E,
    0x61282610, 0xF7F60583, 0xD5FB7E5F, 0xD07CDF77, 0x25DF07B9, 0x85827DAF, 0x411C5615,
    0xEDE30614, 0x98469E54, 0x1D0760D1, 0x0A217475, 0x0364A729, 0x60E26F9D, 0xD0368D93,
    0x3CE3E3EC, 0xE42904FF, 0x69164490, 0x264891E4, 0x4C92E4A9, 0x3EE3E3FE, 0x23C8E8F3,
    0x58CDD08E, 0xD4731D63, 0x218B45C1, 0x412298A1, 0x1628B1A2, 0x02148421, 0xB8A97B87,
    0xFB751C03, 0x308C12FC, 0x6723F0CA, 0x69D64D3E, 0xE6789DE7, 0xFC9CA489, 0x32A163E4,
    0x6687026C, 0xC99A643B, 0x7DE151A5, 0x1E6915C6, 0x1DC751DD, 0x26A9A05E, 0xA380AB72,
    0x64EA3ACE, 0x9CA6E7A3, 0x9369EA76, 0xA993A8E9, 0xAA0A956E, 0x428E3B9B, 0x5B571DEA,
    0x4899C431, 0x0581605B, 0xE7B8A312, 0x8CAB71CD, 0x9F3D67C3, 0xAFEBEAF6, 0xAA4AEEBD,
    0x7AD5C038, 0xCEB1378A, 0x3908921A, 0x69DA54F9, 0x97526435, 0xA6DE6B29, 0x0299A5CF,
    0xDCB6EDAB, 0xA66A19E2, 0x9C03E9D4, 0xC2949CB4, 0x5D210D5D, 0x1A501075, 0x1B86D1B9,
    0x4AA6D857, 0x49BDC03D, 0xE6DD31CC, 0x49BEEFAB, 0x31CC39BE, 0x2EEBCEA6, 0x009121BC,
    0xB5424D66, 0x9D26C9A8, 0x2A1C02A4, 0xCFD36DBB, 0x6BF274C4, 0x4EDDC5F1, 0x103E4FDC,
    0x700DB2B3, 0xCA82770B, 0xD54C20A1, 0x893443D0, 0xC60F9964, 0x8EDC037E, 0xF1833CDB,
    0x9B7734CC, 0x14CF8ECD, 0x21CAEB6B, 0x48932CA5, 0xC771D877, 0x62AED517, 0xD64093CF,
    0x9DD2F4AC, 0x3D9D4D22, 0x743D05C0, 0x24C33F48, 0x3C8D2352, 0x1A700832, 0xD7F4C36E,
    0x35DA7760, 0x223F5870, 0xBB564848, 0x95255224, 0x2CDC06B8, 0x4D32DCB5, 0xDDD774D8,
    0xC8B42CE4, 0x97DB1C0D, 0xDA92125C, 0xB210CDDF, 0xE2F9C02A, 0x27763426, 0xBD9138AE,
    0x340C02F8, 0xCA9C3320, 0x55F94AAA, 0x48C430AF, 0x89E6F8B3, 0x700D2BDB, 0x9225457E,
    0xCE79C2E5, 0x7B61E9F9, 0xA2603A0E, 0x6F3A40CF, 0xBB2EA3A6, 0x170BAAD2, 0xBD2552BA,
    0xB3EC4FFE, 0xED717EF7, 0x54CEDDBC, 0x9E5D80E5, 0xF3C8EFB9, 0xC23FFC0B, 0xEE91E53F,
    0xBD2F27BC, 0xDF37CBB6, 0x6B98F414, 0xBFF6FD3E, 0xEE3ACF56, 0xBC65EBC4, 0xDF97DCF6,
    0xB57AF7A9, 0xE6F1FD8E, 0xFA27AFB7, 0x7C5FA8AE, 0x6FBBD9E9, 0xCBF09DFF, 0xECFD3E2F,
    0x92BFEFDF, 0x521F03F9, 0xFFBE47D6, 0x0148B019, 0xE700DE1C, 0x1DFABB07, 0x4A4381F0,
    0xC746F3A0, 0x1039DDC0, 0xE0941082, 0x3D182AF5, 0x83501A0C, 0x071D7402, 0x0FC1E82F,
    0xE9756F66, 0x0846A10B, 0x8207C258, 0x1B8128F0, 0xD70EE15C, 0xEE3603C2, 0x186B9171,
    0xB6A040E5, 0x6DCDB019, 0xDC9B81C2, 0xBC40686A, 0x7C384DE9, 0xD4519BF3, 0x9419B566,
    0xE9C26B6D, 0x37FF111A, 0xED94E136, 0xDAB1466C, 0x352066CF, 0x69E709A2, 0xF6E29B48,
    0x7B9B769C, 0x5F684D44, 0x34CA1AA0, 0xBD96B2B2, 0x13311B4C, 0xA66EF4E3, 0xC7099C8D,
    0x99E0DE58, 0x10E65251, 0x6140C886, 0xC4587B92, 0x39315634, 0x1D908E6E, 0x427098FB,
    0x08B13236, 0x213621E5, 0xF5DA550F, 0x62A178AE, 0x97C3C65E, 0x2FE73721, 0x43C70980,
    0x15D818F5, 0xAB10A60A, 0xE4350B3C, 0xAD17D6A2, 0x6D4D2DF5, 0x08E96BF2, 0x25023655,
    0x0B99721C, 0x966AE95A, 0x2C9234AB, 0x570AD95A, 0x2BD5D8E2, 0x54AC262F, 0x3458AAE4,
    0x90AC9642, 0x8156ACB0, 0xD12B2BA0, 0x7522AA48, 0xA3815C2A, 0x56D4C395, 0x0D81D52C,
    0x54C38152, 0x8BC768A9, 0x1D85E0EC, 0x0C51467A, 0x5A478D19, 0xE933A854, 0x6B451DA6,
    0x34E27F93, 0x89326CA7, 0x5C70F94F, 0x9B750030, 0x5093807D, 0xC9038265, 0x2FA89246,
    0xEB456409, 0xB4960B14, 0x491B2564, 0x7A524707, 0x890D1846, 0x66FA88B4, 0x8522551C,
    0xD0B1B229, 0x28D2392D, 0x4268325E, 0x9281821E, 0x2044A88C, 0x3C27C4DA, 0x50E91F14,
    0xC21A1F27, 0xA1A2DC4F, 0xE84D0A4F, 0x908D3741, 0x538A774D, 0xA6A8169E, 0x4C469218,
    0xF7A1DA5F, 0x9A4403C0, 0x4C891110, 0x8A90C024, 0x64E93434, 0xA5CE4894, 0x26BCD69D,
    0x06B1B336, 0xD0F37275, 0xABC73EAE, 0x58AAF9D1, 0x1BD64AC3, 0xFC36F4B9, 0xB0358EB0,
    0x9EAA8A13, 0x7D05876B, 0xB51678EA, 0x68B4A54B, 0x4B599465, 0x1900FC5B, 0x3192D849,
    0x604C398B, 0xC2D80313, 0x7AB0D60A, 0x255F65B1, 0xAEBC87E3, 0x62CBA06C, 0x6B275C95,
    0xD24D6710, 0xACCBAD8F, 0xC0AB370A, 0xB3567A09, 0x55976325, 0x745A4B28, 0x12266C9E,
    0xA44588A1, 0xB6CE59FA, 0xFBA2B3B6, 0x8B53130E, 0x36949ADA, 0x00010127, 0x1C080100,
    0xC1A0B048, 0x8E110883, 0xC06200F8, 0x1E111042, 0xE2787882, 0x31878B21, 0xC8D0CE1E,
    0x8F46E191, 0x147C411D, 0xC9A47219, 0x32412892, 0x22F0C8CC, 0x270C8AC3, 0x70C88C32,
    0x389BC240, 0x89DCEA73, 0x8782E1F3, 0x48CA1E24, 0xD1655249, 0x268D27A3, 0xA9744A45,
    0x8D50A6D3, 0x9418650E, 0x589E02E1, 0x787D62B3, 0x9288A1E0, 0x30D2BE26, 0x0F888432,
    0x5CDE6E38, 0xD1A8B459, 0x2C94499F, 0x89A4D24D, 0x9C4DA993, 0xABC2B93C, 0xBCDEEF97,
    0xF602FB7F, 0x61B0784B, 0x2B0388C1, 0xAE97AC2E, 0xD972B85D, 0x96AB45BA, 0x23B0D9AC,
    0xCAFD1068, 0xCFD680F0, 0xC0421F3C, 0x898551A8, 0x9CD03513, 0x13051339, 0x44A14DA6,
    0xCD75328D, 0xFC55AA14, 0xF562A54E, 0xDF6F374F, 0xFF0777BD, 0xF1B81C2D, 0x2B89C8E2,
    0xF8FCCE1F, 0x93CDE772, 0x5B8DB3FF, 0xB0D76D36, 0x8D36B355, 0x104B243A, 0x1F8B4010,
    0x494330F8, 0x20B2582D, 0xD4AA0EC1, 0xA0F05529, 0x4A97C753, 0xAE6D2B15, 0x568AC960,
    0x672E16EB, 0x0BB2E8B9, 0x38120280, 0x16078060, 0x0C81A088, 0x82A0E82E, 0x61282610,
    0xF7F60583, 0xD5FB7E5F, 0xD07CDF77, 0x25DF07B9, 0x85827DAF, 0x411C5615, 0xEDE30614,
    0x98469E54, 0x1D0760D1, 0x0A217475, 0x2364A729, 0x18E26DDF, 0xD0320C73, 0x370DD370,
    0x8DF378F3, 0x4908FF37, 0x0E4591A4, 0x4A91E499, 0x9364E922, 0xE5293250, 0x393E5492,
    0x465595A5, 0x408F8FF9, 0x7523C8EA, 0x633740E2, 0x51CC758D, 0x862D1707, 0x048A6284,
    0x58A2C689, 0x08521084, 0xE2A5EE1C, 0xEDD4700E, 0xB92DCB63, 0x378DD328, 0xE583E4DD,
    0x7A125AA0, 0x1E88A165, 0x8B9668AA, 0x9FE54A1A, 0x4CA85A81, 0xD9D5C09E, 0xA6739C4E,
    0x9F785469, 0x479A4571, 0x8771D477, 0x29DE7517, 0x80AA6D9C, 0xD2348D13, 0xABE8E364,
    0x2B2A3289, 0x4AC68DAC, 0xAEB1ACEB, 0xE0AA2ADA, 0x3B9BAA54, 0x1DEA8EA1, 0xC4315B57,
    0x605B4899, 0xA3120581, 0x9E0DE7B8, 0x0E32A8A8, 0x6ADCF597, 0xD6D8ADAD, 0xDBAE2DAA,
    0xB5253B5E, 0x5C2986A8, 0x9378A7B3, 0x8921B2EC, 0xA54F9390, 0x2643569D, 0xED029975,
    0xEAE8FA2A, 0xE6DCB66A, 0xF8BEADEB, 0xAE6FEBEE, 0x9D4366AC, 0xCBC1C03E, 0xD5DC2949,
    0x0755D210, 0x1B91A501, 0x0571B86D, 0x6700F5AA, 0x1CB92E0B, 0xFDB76FF3, 0xC7F1CC76,
    0xE8EC82FC, 0xAAFB19C5, 0x4B103D4A, 0x6D09121C, 0x8B5424D6, 0x49D26C9A, 0xB2AAD02A,
    0x7A82A40D, 0x1BCEF21C, 0xCF73ACF3, 0xEA8CE28E, 0xDCC5C036, 0x829A2A09, 0x0F435530,
    0x659224D1, 0x0DFB903E, 0x8320C670, 0xFF4033CC, 0x5BC8B5AC, 0xA2F5CCFB, 0x1C033E5E,
    0x1D40DEB9, 0x8932D392, 0x771D8774, 0x3DAF317C, 0x75D9065C, 0x6D7B5FD6, 0xC73BDD37,
    0xC03D9D4D, 0x4876DDAD, 0x5224C369, 0x323C8D23, 0x6E1A7008, 0x73E2F783, 0xE3375E37,
    0x1C0E2653, 0x12088FE1, 0x892EE092, 0xAE254954, 0x2BCAE701, 0xF9034CB1, 0xFE938EDD,
    0x7E8EE978, 0x9B703A1E, 0x4849725F, 0x83377F99, 0x4700AAD1, 0x8CD0C5CB, 0xBCEA3BAE,
    0xEDF20E9F, 0xB45340B7, 0xAB0CA9CC, 0xF9C05F94, 0xBB348BA7, 0xF3FA6EFB, 0xBCADDBCD,
    0x15F9C034, 0x0BC84895, 0xDCF47D37, 0xF7BD0EF7, 0x3D5F4E48, 0x90CFD760, 0x83DB6F3D,
    0xDDF3BEAF, 0xF8A5AFB3, 0x54AF59C2, 0x93FFE749, 0x7FF8FBBE, 0xB2FB7F9F, 0xFC9BCFC2,
    0x601E394C, 0xE58B8792, 0xEB80EFF1, 0x0AF49FD3, 0x91F8BD48, 0xD4027E6F, 0x980D010B,
    0xAFEE0440, 0xDFF33A82, 0x14F8003F, 0x7EEFD48F, 0x0860B40A, 0x0D375831, 0x1F29B072,
    0x5708A064, 0x4E11C248, 0x0C0F84C9, 0x48525220, 0xD0DA0BC1, 0x1D1C3885, 0x3E52F50C,
    0x85AF321A, 0x08A1BC2C, 0x1E8AE877, 0x2A7B500E, 0x8512A204, 0x112A44B8, 0x441288D1,
    0xD8730D62, 0x915220C4, 0xE0844F48, 0xBE888F0C, 0x8BF13224, 0xADE30C57, 0x934328B2,
    0x688AD0F8, 0xC8D762AC, 0x71EC41D8, 0x145E7ED1, 0xC8C11AA3, 0xF0A2363F, 0x234C208D,
    0x3CF8E71D, 0x7CD16A3B, 0x1EA38C78, 0xFCC7B8E5, 0xB228F1F9, 0x70ED9DA3, 0xF246C837,
    0x13C051D1, 0x568C709E, 0x277CA33C, 0x5CD83373, 0x3AA384E7, 0x93F23DD1, 0x275E7C85,
    0xD7095759, 0x1A228EC1, 0x84E1DCA1, 0x86473893, 0x92F995D2, 0x6728709C, 0x2E08A339,
    0x9BF0336D, 0x1B754EDB, 0x6E48FDB8, 0x212504AF, 0xDBB7A6ED, 0x6C6FA3DC, 0x9AE002FB,
    0x49A811A6, 0xC3566A8D, 0x6961309A, 0xCD8DB0C5, 0x8A336659, 0x10C21CD3, 0x788CC019,
    0xA019BB35, 0x72CC1672, 0x4256F30E, 0x26D1168B, 0x89A43329, 0xB10F2845, 0xF2A87909,
    0x2C4D88B0, 0x0E13155A, 0xCD3634C9, 0x9F72867E, 0x3D994326, 0xAB10A657, 0x06350BB4,
    0xE92F1793, 0xFA6A2F65, 0xA2F68153, 0x860C7094, 0x6C2D7730, 0xC8D2C65D, 0xACE598B9,
    0x5A83899A, 0xDE27350E, 0x71AD15C0, 0xE6468D8C, 0xD2121652, 0x74102C55, 0x091A2565,
    0x557EA916, 0x2C055533, 0x1AECE7A4, 0x0D11A234, 0x552BC86C, 0x3B454ABE, 0x2F07645E,
    0xA0A5CF18, 0x5A479371, 0xE93A2984, 0xDAF31DA6, 0x8670A487, 0x4CE22B53, 0x8DE51252,
    0xB49A9AA5, 0x4D8A7091, 0x52D15902, 0x33A652C5, 0xD246C98D, 0x8E8E9301, 0x55B88CF1,
    0x5B717BD5, 0x63A833EB, 0xC8CCE952, 0x2B28D914, 0x9469DE9A, 0x21358135, 0x4940C10F,
    0x10225446, 0x1E13E26D, 0x6F5A4F8A, 0xE10D0F93, 0xF1FC3F47, 0xF426850F, 0x6846CA20,
    0x6CAD98B2, 0x59242B66, 0xB1C3490C, 0x8747C9D4, 0x100F03DE, 0x24444269, 0xFD169132,
    0x30D0D7FA, 0xF5303464, 0xD3B4C248, 0x66C4D79A, 0x4EA0D636, 0x9D03A46E, 0xB7F6F2DE,
    0x746E01CF, 0xE1DC4B82, 0xFC36E74E, 0xB0358EB0, 0x26DA0A13, 0x6D5FA8EC, 0x953C78ED,
    0x08B4A551, 0x4B59946A, 0x1900FC5B, 0x31945049, 0x784C398B, 0xF2DE0313, 0x7ABCD78A,
    0x257768A1, 0x42EC87E3, 0x22E9ABAD, 0x6BE77496, 0xB3D17610, 0xEFCBE59B, 0x465BF51F,
    0x2971B6FE, 0x080AAB4B, 0x02DF4618, 0xCC9E2567, 0x5B2A098C, 0xEEFEA9F2, 0x8E0EC1F7,
    0xB92E52F0, 0x6DA41060, 0x49CE069B, 0x00000040, 0x1C080100, 0xC1A0B048, 0x8E110883,
    0xC06200F8, 0x1E111042, 0xE2787882, 0x31878B21, 0xC8D0CE1E, 0x8F46E191, 0x147C411D,
    0xC9A47219, 0x32412892, 0x22F0C8CC, 0x270C8AC3, 0x70C88C32, 0x389BC240, 0x89DCEA73,
    0x8782E1F3, 0x48CA1E24, 0xD1655249, 0x268D27A3, 0xA9744A45, 0x8D50A6D3, 0x9418650E,
    0x589E02E1, 0x787D62B3, 0x9288A1E0, 0x30D2BE26, 0x0F888432, 0x5CDE6E38, 0xD1A8B459,
    0x2C94499F, 0x89A4D24D, 0x9C4DA993, 0xABC2B93C, 0xBCDEEF97, 0xF602FB7F, 0x61B0784B,
    0x2B0388C1, 0xAE97AC2E, 0xD972B85D, 0x96AB45BA, 0x23B0D9AC, 0xCAFD1068, 0xCFD680F0,
    0xC0421F3C, 0x898551A8, 0x9CD03513, 0x13051339, 0x44A14DA6, 0xCD75328D, 0xFC55AA14,
    0xF562A54E, 0xDF6F374F, 0xFF0777BD, 0xF1B81C2D, 0x2B89C8E2, 0xF8FCCE1F, 0x93CDE772,
    0x5B8DB3FF, 0xB0D76D36, 0x8D36B355, 0x104B243A, 0x1F8B4010, 0x494330F8, 0x20B2582D,
    0xD4AA0EC1, 0xA0F05529, 0x2A07C753, 0x756D2914, 0x9B8B453F, 0xB8A499C9, 0x9FF801FE,
    0x38120125, 0x1E088160, 0x0C80A0A8, 0x8260D81A, 0x4CE7F20F, 0x77D4D17E, 0xB9D07CDF,
    0xAF25DF07, 0x1585827D, 0x14411C56, 0x54EDE306, 0xD198469E, 0x751D0760, 0x290A2174,
    0xDD0364A7, 0x6388A78B, 0x408A2208, 0x721C06E3, 0x8EC6C3CC, 0x4708FCFF, 0x490A4090,
    0x264690E4, 0x4892E459, 0x93E47932, 0x2529364A, 0xF9464E94, 0xDE3D8ECF, 0xE28D2398,
    0x366308CC, 0x0751CC75, 0x44862917, 0x89048962, 0x8458A286, 0x1C085210, 0x0EE2A5EE,
    0x13EDD470, 0x08CA2617, 0x7C958F99, 0x94E7E956, 0x27FA027D, 0x4A168295, 0xDE7AA1E8,
    0xC09D4CA9, 0x9B4ED9C5, 0x5469966F, 0x45719F78, 0xD477479A, 0x71178771, 0x8BDC29CE,
    0x47B380A6, 0x13647F1F, 0x9E83A228, 0xACAA6AAA, 0xABAABA1A, 0x47E1F24E, 0xD38234A9,
    0x64EE6EA8, 0x5C77A9BA, 0x6710C56D, 0x05816D22, 0xE28C4816, 0xD1C0379E, 0x6F1B4E38,
    0xABCF51C4, 0x6D2AC2A8, 0x6B42D4B4, 0x6287AB6D, 0x3028CF59, 0xB19C2976, 0x2C2378A7,
    0x908921B1, 0x9DA54F93, 0x75264356, 0x6DE74299, 0xEA5A8CFA, 0x5BD2D3B5, 0xE6F6B62D,
    0xB2902F8B, 0x3E9D4A96, 0x49CBB1C0, 0x10D5DC29, 0x010755D2, 0x6D1B91A5, 0x6D8571B8,
    0x1C03D4AA, 0x5BE8C764, 0x6717BEEF, 0x16C6AF7C, 0x25D7093F, 0x311ADCC7, 0x44870EC3,
    0x09359A42, 0x9B26A295, 0x700A9274, 0x8DBB18A1, 0x8CD71D9E, 0xDB38C6F1, 0xF99331CC,
    0x36CA5CC4, 0x09DCB1C0, 0x3082922A, 0xD10F4355, 0x3E659224, 0x700DFB80, 0xC8A21C85,
    0x7CE73A33, 0x5F58D573, 0xCF96AD8D, 0x37AE0700, 0xB4A4874C, 0x61DD224C, 0xBC5F1DC7,
    0x583D8AAB, 0xCEF5A8FA, 0x771D5B70, 0x0DB771D6, 0x99C03DB1, 0x6448768D, 0x235224C3,
    0x08323C8D, 0x38BCA070, 0x2772DBF3, 0x88E2B74E, 0x29385C77, 0xF8070B40, 0xE4848223,
    0x55224BB7, 0xC06B8952, 0x34C9FCB5, 0xF8DE878B, 0xFE9373E8, 0x00D3E78F, 0x9725F9A7,
    0x77F98484, 0x8AAD0833, 0x026897EA, 0xE7A5E88D, 0x8BEEB8CE, 0x343B525B, 0x0A9CB741,
    0x05F94AAF, 0xE0D29DDC, 0xCAF2FBBE, 0xF224EF37, 0x9516039D, 0x870BC648, 0x9BBCF3BC,
    0xCFF33D8E, 0x3489825B, 0xFD35EBD1, 0x76F3D50C, 0x67E8F6BD, 0x71F73EAF, 0x5F9C2F43,
    0xCFFF97E3, 0x6F6FEBF9, 0xBB89FA7F, 0x4AFC1BCF, 0xFD3F2495, 0xFDE00BEC, 0xFD3F87EA,
    0xFD7A4E9D, 0x8E601E2B, 0xE1E4BDE7, 0x7C02806F, 0xC80CE9A0, 0x5028A63F, 0x1EFC0C2F,
    0x41283704, 0x828A1A02, 0x5220B408, 0x0E40D7FE, 0x2782307A, 0xC50817B4, 0x2E11C097,
    0xEC257AD0, 0x68670A20, 0xD0AD9C42, 0xA17BF115, 0x429862F9, 0x8210D619, 0x0621CC37,
    0x1F41A861, 0x4887B11A, 0xC30361B4, 0x9A16C387, 0x4C458484, 0x488F0FE2, 0xD1052043,
    0xA2811A89, 0xC548A503, 0x8AF09E29, 0x0EA27C22, 0x2AC3C7E7, 0x668CF172, 0x9F18143C,
    0x7A2D11E2, 0xEC6F8D31, 0xE29B1AD8, 0x11DA2EC6, 0xA39BDB8D, 0xC788EB13, 0x8A91C23B,
    0xEC0A3C7A, 0xDB3B4764, 0x878FD1C5, 0x6CEF969C, 0x11973C17, 0x9B98040F, 0xF738E681,
    0x2E7C4EBE, 0xA3EC7F91, 0xBAA750EE, 0x75CEB04A, 0xE4C8D114, 0xC79C2706, 0x99934E1D,
    0x4CF2A54C, 0x55C99C09, 0x237E28CE, 0x96F40CDB, 0xADDCE136, 0xA5CC986D, 0x0A86ED1F,
    0x6F23DC55, 0xDF02FB67, 0xA611A692, 0x526A0D39, 0x97221AA3, 0x717B4A89, 0x0AC76BCD,
    0xE694519B, 0x60C88610, 0x9983C265, 0x4CC668CC, 0x55F37655, 0xE44D9B3D, 0xA2342378,
    0x0F284589, 0xA87909B1, 0x3D86B0B2, 0x131297AC, 0xD974C50E, 0x2C7E3F4C, 0x50D1C264,
    0x0576483D, 0x2AC42993, 0xC08D42E9, 0x784B65DC, 0xDF54CBF5, 0x0F1A284C, 0x08E128CA,
    0x3AEA608C, 0xA57EB9D8, 0xEB157191, 0x16EB5E58, 0x4F459CB3, 0x5B4FAE6F, 0x38C53ADC,
    0x8B2E1A32, 0x2057CB96, 0x344ACAE8, 0xE14E2BA2, 0x0230592A, 0x4A3B41C7, 0x0A917E53,
    0x55BAB51B, 0x22B1DA2A, 0x91E1783B, 0x4314A99E, 0x1491E346, 0xBA4E0A41, 0x56BBC769,
    0xE5EF2761, 0x527B4769, 0x963747A8, 0xB5384A8F, 0xD471BCA1, 0x12368B51, 0x2049A14A,
    0x58AA2A27, 0x1A2634C2, 0x5C3A48C9, 0x9E22D1BA, 0x6EA94B81, 0x7D6A6DAF, 0x64BCB286,
    0x8989300A, 0xCA34E74C, 0x909ABE99, 0x24A06087, 0x87110A1F, 0x0D09F136, 0xD43A47C5,
    0xB48587C9, 0x58FD1781, 0x720B3FB5, 0x34216490, 0xF652C8D9, 0xECB596B2, 0x58D19D63,
    0xB1362C69, 0x3C0F7A19, 0x0F09A438, 0x2D444881, 0x435F2BDC, 0x894BD433, 0x69DA60A4,
    0x33626BCD, 0x27506B1B, 0x8E81D237, 0xDBCB736E, 0x3A36F4E7, 0x702E0DBE, 0x7E1B73A7,
    0xD81AC758, 0x0B6C4509, 0xAEAF48F6, 0xA2963C76, 0xC45252A8, 0xA5ACCA34, 0x8C807E2D,
    0x98CA1E24, 0xBBC61CC5, 0x78AEE989, 0xBD5E3BBF, 0x92BB543C, 0x997583F1, 0xF572D5C6,
    0x35F0B9EA, 0x69D8BA08, 0x17D9F1CD, 0xE30DF88B, 0xDF9BF57D, 0x040555A3, 0x80AF8B08,
    0x624E92B3, 0x2D9424C6, 0xF91B2D71, 0x3B05E0CB, 0x8B9891F8, 0x321B81A5, 0x04049CE0,
    0x1C080100, 0xC1A0B048, 0x8E110883, 0xC06200F8, 0x1E111042, 0xE2787882, 0x31878B21,
    0xC8D0CE1E, 0x8F46E191, 0x147C411D, 0xC9A47219, 0x32412892, 0x22F0C8CC, 0x270C8AC3,
    0x70C88C32, 0x389BC240, 0x89DCEA73, 0x8782E1F3, 0x48CA1E24, 0xD1655249, 0x268D27A3,
    0xA9744A45, 0x8D50A6D3, 0x9418650E, 0x589E02E1, 0x787D62B3, 0x9288A1E0, 0xA89C4C2A,
    0x124904B1, 0xC4E27220, 0x5188C2C9, 0x28944023, 0x49A4A259, 0x9B532713, 0x95727938,
    0xBE5F6F77, 0x0DFB017A, 0xE130B7FC, 0x0B1383C3, 0x6F786C5E, 0x26A5BB26, 0x68B495C9,
    0x693F2351, 0x8291A0CE, 0x1C8D4683, 0x657C4151, 0x69AB4078, 0x60210F9E, 0xC542E8D4,
    0xD26C1B0A, 0x298299A8, 0xA250A6D3, 0x66BA9946, 0x7E2AD50A, 0xFAB152A7, 0x71787C17,
    0x1B91C2E2, 0x39BC7E4F, 0xA3CBE7F3, 0x5CEE9F2B, 0xD0EA757A, 0x9DFEF5FF, 0x4BA5F77B,
    0xB1653C9A, 0x51090582, 0x9C202096, 0x61F03F5E, 0xB25C9286, 0x09824968, 0xA55026D3,
    0x7782A94E, 0x52BE3B7D, 0xCDA280A9, 0x1254AE29, 0x24B32A0D, 0xB62A8CE2, 0x8360B210,
    0xA0C83A0F, 0x184E1084, 0x661685E1, 0x1486E158, 0x84218876, 0xA0482A08, 0xE80A0081,
    0xEDF975DF, 0xF6258957, 0x0F83D105, 0x0185103D, 0xA7B93B7B, 0xD9635851, 0x5E1D8751,
    0x29CA4288, 0x4A88A0D9, 0x12B8E229, 0xC4D01ACC, 0xF30F8D12, 0x0E4D32C8, 0xA50938FF,
    0x593E5194, 0x525694E5, 0x5C9665A9, 0x95E5E962, 0xA5F96E60, 0xF9766198, 0x1A4C928F,
    0x43296489, 0x8F9D738A, 0x860364A6, 0x21386017, 0xA5058D23, 0x3558A376, 0x21884214,
    0x8A97E471, 0xB76DC73B, 0x1CB32A4F, 0xD22C4CA2, 0x990F90EC, 0xE9199A90, 0x4A569298,
    0x6265A5E9, 0x8C98293A, 0x22208A3A, 0x5C7A18CA, 0xD2A4A629, 0x88778E8E, 0xA67A9441,
    0x479AB571, 0xC771D877, 0x9A128217, 0x80A58FDC, 0x56324B03, 0xAFE9B364, 0x2C2A6696,
    0x4B069AB0, 0xEEC1B0EC, 0xE0AE2BDA, 0x3BAA5A8C, 0x85E1745F, 0x57A1469D, 0x8D0C6A1A,
    0x5C179226, 0x28C4A174, 0xEA3379F9, 0xC38CA529, 0x1CF50F28, 0xECB1AEAB, 0xB22EEB16,
    0x25FBAEEF, 0x93D43DA3, 0x8DC7911F, 0x383763F2, 0x0EC360D4, 0x93908921, 0x66B9AC4F,
    0x157763C3, 0xCA3E9BEA, 0xBC2EDAFA, 0xF11BCB10, 0x9C5712C3, 0x6CD9AF2C, 0x9471CFA7,
    0x27097254, 0x10755D44, 0xD1B91A50, 0xF4571B86, 0xC73D4AA6, 0x214B42A5, 0x2F1C58C7,
    0x6CCF34C5, 0x6F37C4F3, 0xE3CC32EA, 0x13851CAE, 0x12111850, 0xE43D0409, 0xE0324310,
    0x9B268358, 0x71CAA274, 0x0DB28E3F, 0x5A3C3AA3, 0xCB58CE33, 0x5AD5F59C, 0x3E754A6F,
    0x71C36F51, 0x127C9825, 0x3D0D54D2, 0x49489344, 0x0FC46118, 0xCDF29EE0, 0xF1AA4671,
    0xE75CD74C, 0x5BDEB39D, 0x9AA98DEF, 0xE3E71CCF, 0xB510DD29, 0xC5224CB6, 0xAAC2AB3A,
    0x0F64A3D8, 0xB78DF24D, 0x3E577DDF, 0xCE68D639, 0xC73DB2A3, 0x1705B171, 0x38851ED4,
    0xD235224C, 0x8C8323C8, 0x9736E01A, 0xEBF92EB7, 0x65FEBB94, 0x17276289, 0xD0832048,
    0x2EE91211, 0x7D62B489, 0xC962B5CD, 0x0E5BB234, 0x1FB1F1BB, 0xAD29E9BF, 0x71CD325C,
    0x48B243A6, 0x37A3BD48, 0x1F4ED303, 0xD022E087, 0xF2BDEF14, 0xF37F27E0, 0x5D8CD0F6,
    0x6BD64876, 0xB5CB57F4, 0xF7CD2220, 0x3F2F23E2, 0xD2A795FC, 0x59C734BE, 0xA1291E02,
    0x727EB0CD, 0xFD1F73F6, 0xF9BE1806, 0x014A9015, 0xF4725FC4, 0x29FE09A7, 0x1BFF24A5,
    0x1809024E, 0xB01A0A3F, 0x604A6682, 0xBFD7F6FE, 0x8263FE08, 0x06210C07, 0x88417847,
    0x1C817069, 0x3C52A07C, 0x5A124208, 0xC42285F0, 0xC38709DA, 0x65320740, 0x9F618185,
    0x43086300, 0x6AF0F217, 0x0D47FC33, 0x0043983B, 0x2587AFDE, 0xAD12A244, 0xAA21C414,
    0x3C2C2910, 0x487D0FE2, 0xB01624C5, 0x21BC2989, 0x41288B14, 0x89715629, 0xB0A29C5F,
    0x2240D8B0, 0xEF8745EE, 0xAD182313, 0x914C4618, 0xF14F86D1, 0xD8771448, 0x71DA3646,
    0xDFBB3A8D, 0x44F8CB06, 0x8D31CC93, 0x1AA3C475, 0x3346F863, 0x828D02BA, 0xAB20E40C,
    0xAA3EC858, 0xF41F8B8F, 0x39171DE2, 0x51BA4549, 0xA3E4288F, 0xC908FD16, 0x93F25616,
    0x2364FC89, 0x33C8F937, 0xA08E911A, 0x2F2864A4, 0x8A38CA37, 0x54AB8FE4, 0xD7292CA5,
    0x0469F44A, 0x0E4B4F7B, 0xC96962F9, 0x7C909254, 0xB55B33E6, 0xDF91A22C, 0xC3782261,
    0x972FA5E3, 0x39E63979, 0x908D7A0F, 0xA228F51E, 0x4EA1D311, 0xDD60A075, 0xCDB9992C,
    0x38EED1CB, 0xEEDDCBB7, 0xC511A224, 0x8E71817D, 0x94E4068B, 0x664A4EC9, 0xE8F7654E,
    0x3742E7DC, 0x6DADC412, 0x5B7B6D06, 0x9C96E6DC, 0x9BADDDBA, 0xB1E5ED00, 0x7DB82700,
    0x4268CE19, 0xA12E1A51, 0x7DA90A76, 0xDD029DAD, 0x16C2D7E6, 0xAD19B3CC, 0xD9295468,
    0x8A8652C9, 0x65ECB595, 0x37280B31, 0x9046EA23, 0x3F1EACF6, 0x14D0DA0B, 0xBD829562,
    0x50A66106, 0x86182AD8, 0xF48E8831, 0x42BABB93, 0x8FB37CC6, 0x642C7DB1, 0x4696CB03,
    0xB8ADE5B8, 0xF7392B89, 0xD2B9C712, 0x4A9B5225, 0x22F65E8C, 0xB5F238D7, 0x2BFD7EAF,
    0xCD215B60, 0x2B2712AB, 0x56C7055A, 0xC35661C3, 0x8BD4DA9C, 0xCC1B015D, 0x88A99672,
    0x925B04DA, 0xF27A34E6, 0x04FCD288, 0x43B54128, 0xD4F8FBA6, 0x35651AA2, 0x58F4DE92,
    0x8847CA9D, 0xB553C542, 0xA90EAA9E, 0x309E155A, 0xC8F7820A, 0xAA3A4F95, 0x17061743,
    0x89B0ECA4, 0x0608AD48, 0x39919E1B, 0x733092B2, 0x65ECDD99, 0x381D9AA7, 0x754E6361,
    0x6F62D3BA, 0xC00C10F2, 0xB8493E47, 0x913E7D84, 0x6764FE22, 0xD128F93B, 0x89615C80,
    0x43E82503, 0x7050D21E, 0xE2DC0439, 0x10B8D70A, 0x0A889442, 0xE2DD0D24, 0x81FA4516,
    0xE136EFC7, 0x76A91822, 0xCF4D59B5, 0x9AD06756, 0x3666C4D7, 0x774DB9B5, 0xE01DB1AC,
    0xE83AE764, 0xAD7AAF3D, 0xB0EC5EB3, 0xD5EEBDF7, 0x31F86F8E, 0xE784EFDE, 0xC2A8550A,
    0x1A93CE11, 0x55D62EEC, 0xD28A5542, 0xB49672CA, 0x8D2DA5AC, 0x2C5C43F8, 0x36980931,
    0x81883186, 0x4C1E62B0, 0xD85708E1, 0x44E09931, 0x09512664, 0x11822CCA, 0x66CCC87D,
    0xD099F33A, 0xFE5AEB68, 0x5A9E714D, 0xF5A4519A, 0x8C8EC5EF, 0xEC652931, 0x850B1ACA,
    0xB1515664, 0x13555B8E, 0x25F391B5, 0x8C095CC4, 0x1B644C67, 0xBD3D18CB, 0x2F3D9D23,
    0x049C63BA, 0x00000004, 0x00000000

  EW_BITMAP_CLUT_EMPTY( WidgetSetPushButtonMedium, Default )

  EW_BITMAPS_TABLE( WidgetSetPushButtonMedium )
    EW_BITMAP( WidgetSetPushButtonMedium, Default )
EW_END_OF_BITMAP_RES( WidgetSetPushButtonMedium )

/* Table with links to derived variants of the bitmap resource : 'WidgetSet::PushButtonMedium' */
EW_RES_WITHOUT_VARIANTS( WidgetSetPushButtonMedium )

/* This autoobject provides the default customization for the 'push button' widget 
   (WidgetSet::PushButton) in its medium size variant. */
EW_DEFINE_AUTOOBJECT( WidgetSetPushButton_Medium, WidgetSetPushButtonConfig )

/* Initializer for the auto object 'WidgetSet::PushButton_Medium' */
void WidgetSetPushButton_Medium__Init( WidgetSetPushButtonConfig _this )
{
  WidgetSetPushButtonConfig_OnSetLabelColorActive( _this, _Const0000 );
  WidgetSetPushButtonConfig_OnSetLabelColorFocused( _this, _Const0000 );
  WidgetSetPushButtonConfig_OnSetLabelColorDisabled( _this, _Const0001 );
  WidgetSetPushButtonConfig_OnSetLabelColorDefault( _this, _Const0002 );
  WidgetSetPushButtonConfig_OnSetLabelMarginBottom( _this, 6 );
  WidgetSetPushButtonConfig_OnSetLabelMarginTop( _this, 6 );
  WidgetSetPushButtonConfig_OnSetLabelMarginRight( _this, 6 );
  WidgetSetPushButtonConfig_OnSetLabelMarginLeft( _this, 6 );
  WidgetSetPushButtonConfig_OnSetIconTintDisabled( _this, _Const0003 );
  WidgetSetPushButtonConfig_OnSetIconTintDefault( _this, _Const0002 );
  WidgetSetPushButtonConfig_OnSetIconMarginBottom( _this, 6 );
  WidgetSetPushButtonConfig_OnSetIconMarginTop( _this, 6 );
  WidgetSetPushButtonConfig_OnSetIconMarginRight( _this, 6 );
  WidgetSetPushButtonConfig_OnSetIconMarginLeft( _this, 6 );
  WidgetSetPushButtonConfig_OnSetLabelFont( _this, EwLoadResource( &ResourcesFontMedium, 
  ResourcesFont ));
  WidgetSetPushButtonConfig_OnSetFaceFrameActive( _this, 3 );
  WidgetSetPushButtonConfig_OnSetFaceFrameFocused( _this, 2 );
  WidgetSetPushButtonConfig_OnSetFaceFrameDisabled( _this, 0 );
  WidgetSetPushButtonConfig_OnSetFaceFrameDefault( _this, 1 );
  WidgetSetPushButtonConfig_OnSetFaceActive( _this, EwLoadResource( &WidgetSetPushButtonMedium, 
  ResourcesBitmap ));
  WidgetSetPushButtonConfig_OnSetFaceFocused( _this, EwLoadResource( &WidgetSetPushButtonMedium, 
  ResourcesBitmap ));
  WidgetSetPushButtonConfig_OnSetFaceDisabled( _this, EwLoadResource( &WidgetSetPushButtonMedium, 
  ResourcesBitmap ));
  WidgetSetPushButtonConfig_OnSetFaceDefault( _this, EwLoadResource( &WidgetSetPushButtonMedium, 
  ResourcesBitmap ));
  WidgetSetPushButtonConfig_OnSetWidgetMinSize( _this, _Const0004 );
}

/* Table with links to derived variants of the auto object : 'WidgetSet::PushButton_Medium' */
EW_DEFINE_AUTOOBJECT_VARIANTS( WidgetSetPushButton_Medium )
EW_END_OF_AUTOOBJECT_VARIANTS( WidgetSetPushButton_Medium )

/* Initializer for the class 'WidgetSet::PushButtonConfig' */
void WidgetSetPushButtonConfig__Init( WidgetSetPushButtonConfig _this, XObject aLink, XHandle aArg )
{
  /* At first initialize the super class ... */
  WidgetSetWidgetConfig__Init( &_this->_Super, aLink, aArg );

  /* Setup the VMT pointer */
  _this->_VMT = EW_CLASS( WidgetSetPushButtonConfig );

  /* ... and initialize objects, variables, properties, etc. */
  _this->PressedFeedbackDuration = 50;
  _this->KeyCode = CoreKeyCodeEnter;
  _this->LabelColorActive = _Const0005;
  _this->LabelColorFocused = _Const0005;
  _this->LabelColorDisabled = _Const0005;
  _this->LabelColorDefault = _Const0005;
  _this->IconTintActive = _Const0000;
  _this->IconTintFocused = _Const0000;
  _this->IconTintDisabled = _Const0000;
  _this->IconTintDefault = _Const0000;
  _this->LabelAlignment = ViewsTextAlignmentAlignHorzCenter | ViewsTextAlignmentAlignVertCenter;
  _this->IconAlignment = ViewsImageAlignmentAlignHorzCenter | ViewsImageAlignmentAlignVertCenter;
  _this->FaceLayout = CoreLayoutAlignToBottom | CoreLayoutAlignToLeft | CoreLayoutAlignToRight 
  | CoreLayoutAlignToTop | CoreLayoutResizeHorz | CoreLayoutResizeVert;
  _this->FaceTintActive = _Const0000;
  _this->FaceTintFocused = _Const0000;
  _this->FaceTintDisabled = _Const0000;
  _this->FaceTintDefault = _Const0000;
  _this->FaceFrameActive = -1;
  _this->FaceFrameFocused = -1;
  _this->FaceFrameDisabled = -1;
  _this->FaceFrameDefault = -1;
}

/* Re-Initializer for the class 'WidgetSet::PushButtonConfig' */
void WidgetSetPushButtonConfig__ReInit( WidgetSetPushButtonConfig _this )
{
  /* At first re-initialize the super class ... */
  WidgetSetWidgetConfig__ReInit( &_this->_Super );
}

/* Finalizer method for the class 'WidgetSet::PushButtonConfig' */
void WidgetSetPushButtonConfig__Done( WidgetSetPushButtonConfig _this )
{
  /* Finalize this class */
  _this->_VMT = EW_CLASS( WidgetSetPushButtonConfig );

  /* Don't forget to deinitialize the super class ... */
  WidgetSetWidgetConfig__Done( &_this->_Super );
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetLabelColorActive()' */
void WidgetSetPushButtonConfig_OnSetLabelColorActive( WidgetSetPushButtonConfig _this, 
  XColor value )
{
  if ( !EwCompColor( _this->LabelColorActive, value ))
    return;

  _this->LabelColorActive = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetLabelColorFocused()' */
void WidgetSetPushButtonConfig_OnSetLabelColorFocused( WidgetSetPushButtonConfig _this, 
  XColor value )
{
  if ( !EwCompColor( _this->LabelColorFocused, value ))
    return;

  _this->LabelColorFocused = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetLabelColorDisabled()' */
void WidgetSetPushButtonConfig_OnSetLabelColorDisabled( WidgetSetPushButtonConfig _this, 
  XColor value )
{
  if ( !EwCompColor( _this->LabelColorDisabled, value ))
    return;

  _this->LabelColorDisabled = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetLabelColorDefault()' */
void WidgetSetPushButtonConfig_OnSetLabelColorDefault( WidgetSetPushButtonConfig _this, 
  XColor value )
{
  if ( !EwCompColor( _this->LabelColorDefault, value ))
    return;

  _this->LabelColorDefault = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetLabelMarginBottom()' */
void WidgetSetPushButtonConfig_OnSetLabelMarginBottom( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->LabelMarginBottom == value )
    return;

  _this->LabelMarginBottom = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetLabelMarginTop()' */
void WidgetSetPushButtonConfig_OnSetLabelMarginTop( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->LabelMarginTop == value )
    return;

  _this->LabelMarginTop = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetLabelMarginRight()' */
void WidgetSetPushButtonConfig_OnSetLabelMarginRight( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->LabelMarginRight == value )
    return;

  _this->LabelMarginRight = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetLabelMarginLeft()' */
void WidgetSetPushButtonConfig_OnSetLabelMarginLeft( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->LabelMarginLeft == value )
    return;

  _this->LabelMarginLeft = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetIconTintDisabled()' */
void WidgetSetPushButtonConfig_OnSetIconTintDisabled( WidgetSetPushButtonConfig _this, 
  XColor value )
{
  if ( !EwCompColor( _this->IconTintDisabled, value ))
    return;

  _this->IconTintDisabled = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetIconTintDefault()' */
void WidgetSetPushButtonConfig_OnSetIconTintDefault( WidgetSetPushButtonConfig _this, 
  XColor value )
{
  if ( !EwCompColor( _this->IconTintDefault, value ))
    return;

  _this->IconTintDefault = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetIconMarginBottom()' */
void WidgetSetPushButtonConfig_OnSetIconMarginBottom( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->IconMarginBottom == value )
    return;

  _this->IconMarginBottom = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetIconMarginTop()' */
void WidgetSetPushButtonConfig_OnSetIconMarginTop( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->IconMarginTop == value )
    return;

  _this->IconMarginTop = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetIconMarginRight()' */
void WidgetSetPushButtonConfig_OnSetIconMarginRight( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->IconMarginRight == value )
    return;

  _this->IconMarginRight = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetIconMarginLeft()' */
void WidgetSetPushButtonConfig_OnSetIconMarginLeft( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->IconMarginLeft == value )
    return;

  _this->IconMarginLeft = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetLabelFont()' */
void WidgetSetPushButtonConfig_OnSetLabelFont( WidgetSetPushButtonConfig _this, 
  ResourcesFont value )
{
  if ( _this->LabelFont == value )
    return;

  _this->LabelFont = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetFaceFrameActive()' */
void WidgetSetPushButtonConfig_OnSetFaceFrameActive( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->FaceFrameActive == value )
    return;

  _this->FaceFrameActive = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetFaceFrameFocused()' */
void WidgetSetPushButtonConfig_OnSetFaceFrameFocused( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->FaceFrameFocused == value )
    return;

  _this->FaceFrameFocused = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetFaceFrameDisabled()' */
void WidgetSetPushButtonConfig_OnSetFaceFrameDisabled( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->FaceFrameDisabled == value )
    return;

  _this->FaceFrameDisabled = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetFaceFrameDefault()' */
void WidgetSetPushButtonConfig_OnSetFaceFrameDefault( WidgetSetPushButtonConfig _this, 
  XInt32 value )
{
  if ( _this->FaceFrameDefault == value )
    return;

  _this->FaceFrameDefault = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetFaceActive()' */
void WidgetSetPushButtonConfig_OnSetFaceActive( WidgetSetPushButtonConfig _this, 
  ResourcesBitmap value )
{
  if ( _this->FaceActive == value )
    return;

  _this->FaceActive = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetFaceFocused()' */
void WidgetSetPushButtonConfig_OnSetFaceFocused( WidgetSetPushButtonConfig _this, 
  ResourcesBitmap value )
{
  if ( _this->FaceFocused == value )
    return;

  _this->FaceFocused = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetFaceDisabled()' */
void WidgetSetPushButtonConfig_OnSetFaceDisabled( WidgetSetPushButtonConfig _this, 
  ResourcesBitmap value )
{
  if ( _this->FaceDisabled == value )
    return;

  _this->FaceDisabled = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetFaceDefault()' */
void WidgetSetPushButtonConfig_OnSetFaceDefault( WidgetSetPushButtonConfig _this, 
  ResourcesBitmap value )
{
  if ( _this->FaceDefault == value )
    return;

  _this->FaceDefault = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButtonConfig.OnSetWidgetMinSize()' */
void WidgetSetPushButtonConfig_OnSetWidgetMinSize( WidgetSetPushButtonConfig _this, 
  XPoint value )
{
  if ( !EwCompPoint( _this->WidgetMinSize, value ))
    return;

  _this->WidgetMinSize = value;
  EwPostSignal( EwNewSlot( _this, WidgetSetWidgetConfig_onInvalidate ), ((XObject)_this ));
}

/* Variants derived from the class : 'WidgetSet::PushButtonConfig' */
EW_DEFINE_CLASS_VARIANTS( WidgetSetPushButtonConfig )
EW_END_OF_CLASS_VARIANTS( WidgetSetPushButtonConfig )

/* Virtual Method Table (VMT) for the class : 'WidgetSet::PushButtonConfig' */
EW_DEFINE_CLASS( WidgetSetPushButtonConfig, WidgetSetWidgetConfig, LabelFont, PressedFeedbackDuration, 
                 PressedFeedbackDuration, PressedFeedbackDuration, PressedFeedbackDuration, 
                 "WidgetSet::PushButtonConfig" )
EW_END_OF_CLASS( WidgetSetPushButtonConfig )

/* Initializer for the class 'WidgetSet::WidgetConfig' */
void WidgetSetWidgetConfig__Init( WidgetSetWidgetConfig _this, XObject aLink, XHandle aArg )
{
  /* At first initialize the super class ... */
  XObject__Init( &_this->_Super, aLink, aArg );

  /* Setup the VMT pointer */
  _this->_VMT = EW_CLASS( WidgetSetWidgetConfig );
}

/* Re-Initializer for the class 'WidgetSet::WidgetConfig' */
void WidgetSetWidgetConfig__ReInit( WidgetSetWidgetConfig _this )
{
  /* At first re-initialize the super class ... */
  XObject__ReInit( &_this->_Super );
}

/* Finalizer method for the class 'WidgetSet::WidgetConfig' */
void WidgetSetWidgetConfig__Done( WidgetSetWidgetConfig _this )
{
  /* Finalize this class */
  _this->_VMT = EW_CLASS( WidgetSetWidgetConfig );

  /* Don't forget to deinitialize the super class ... */
  XObject__Done( &_this->_Super );
}

/* 'C' function for method : 'WidgetSet::WidgetConfig.onInvalidate()' */
void WidgetSetWidgetConfig_onInvalidate( WidgetSetWidgetConfig _this, XObject sender )
{
  /* Dummy expressions to avoid the 'C' warning 'unused argument'. */
  EW_UNUSED_ARG( sender );

  EwNotifyObjObservers((XObject)_this, 0 );
}

/* Variants derived from the class : 'WidgetSet::WidgetConfig' */
EW_DEFINE_CLASS_VARIANTS( WidgetSetWidgetConfig )
EW_END_OF_CLASS_VARIANTS( WidgetSetWidgetConfig )

/* Virtual Method Table (VMT) for the class : 'WidgetSet::WidgetConfig' */
EW_DEFINE_CLASS( WidgetSetWidgetConfig, XObject, _None, _None, _None, _None, _None, 
                 "WidgetSet::WidgetConfig" )
EW_END_OF_CLASS( WidgetSetWidgetConfig )

/* Initializer for the class 'WidgetSet::PushButton' */
void WidgetSetPushButton__Init( WidgetSetPushButton _this, XObject aLink, XHandle aArg )
{
  /* At first initialize the super class ... */
  CoreGroup__Init( &_this->_Super, aLink, aArg );

  /* ... then construct all embedded objects */
  CoreTimer__Init( &_this->FlashTimer, &_this->_XObject, 0 );
  CoreKeyPressHandler__Init( &_this->KeyHandler, &_this->_XObject, 0 );
  CoreSimpleTouchHandler__Init( &_this->TouchHandler, &_this->_XObject, 0 );

  /* Setup the VMT pointer */
  _this->_VMT = EW_CLASS( WidgetSetPushButton );

  /* ... and initialize objects, variables, properties, etc. */
  CoreRectView__OnSetBounds( _this, _Const0006 );
  CoreTimer_OnSetPeriod( &_this->FlashTimer, 0 );
  CoreTimer_OnSetBegin( &_this->FlashTimer, 50 );
  _this->KeyHandler.Filter = CoreKeyCodeEnter;
  CoreView_OnSetLayout((CoreView)&_this->TouchHandler, CoreLayoutAlignToBottom | 
  CoreLayoutAlignToLeft | CoreLayoutAlignToRight | CoreLayoutAlignToTop | CoreLayoutResizeHorz 
  | CoreLayoutResizeVert );
  CoreQuadView_OnSetPoint4((CoreQuadView)&_this->TouchHandler, _Const0007 );
  CoreQuadView_OnSetPoint3((CoreQuadView)&_this->TouchHandler, _Const0008 );
  CoreQuadView_OnSetPoint2((CoreQuadView)&_this->TouchHandler, _Const0009 );
  CoreQuadView_OnSetPoint1((CoreQuadView)&_this->TouchHandler, _Const000A );
  CoreSimpleTouchHandler_OnSetRetargetOffset( &_this->TouchHandler, 16 );
  CoreSimpleTouchHandler_OnSetMaxStrikeCount( &_this->TouchHandler, 100 );
  _this->IconFrameActive = -1;
  _this->IconFrameFocused = -1;
  _this->IconFrameDisabled = -1;
  _this->IconFrameDefault = -1;
  CoreGroup__Add( _this, ((CoreView)&_this->TouchHandler ), 0 );
  _this->FlashTimer.OnTrigger = EwNewSlot( _this, WidgetSetPushButton_onFlashTimer );
  _this->KeyHandler.OnRelease = EwNewSlot( _this, WidgetSetPushButton_onReleaseKey );
  _this->KeyHandler.OnPress = EwNewSlot( _this, WidgetSetPushButton_onPressKey );
  _this->TouchHandler.OnLeave = EwNewSlot( _this, WidgetSetPushButton_onLeaveTouch );
  _this->TouchHandler.OnEnter = EwNewSlot( _this, WidgetSetPushButton_onEnterTouch );
  _this->TouchHandler.OnRelease = EwNewSlot( _this, WidgetSetPushButton_onReleaseTouch );
  _this->TouchHandler.OnPress = EwNewSlot( _this, WidgetSetPushButton_onPressTouch );
}

/* Re-Initializer for the class 'WidgetSet::PushButton' */
void WidgetSetPushButton__ReInit( WidgetSetPushButton _this )
{
  /* At first re-initialize the super class ... */
  CoreGroup__ReInit( &_this->_Super );

  /* ... then re-construct all embedded objects */
  CoreTimer__ReInit( &_this->FlashTimer );
  CoreKeyPressHandler__ReInit( &_this->KeyHandler );
  CoreSimpleTouchHandler__ReInit( &_this->TouchHandler );
}

/* Finalizer method for the class 'WidgetSet::PushButton' */
void WidgetSetPushButton__Done( WidgetSetPushButton _this )
{
  /* Finalize this class */
  _this->_VMT = EW_CLASS( WidgetSetPushButton );

  /* Finalize all embedded objects */
  CoreTimer__Done( &_this->FlashTimer );
  CoreKeyPressHandler__Done( &_this->KeyHandler );
  CoreSimpleTouchHandler__Done( &_this->TouchHandler );

  /* Release all used strings */
  EwReleaseString( &_this->Label );

  /* Don't forget to deinitialize the super class ... */
  CoreGroup__Done( &_this->_Super );
}

/* 'C' function for method : 'WidgetSet::PushButton.OnSetBounds()' */
void WidgetSetPushButton_OnSetBounds( WidgetSetPushButton _this, XRect value )
{
  if ( _this->Appearance != 0 )
  {
    XPoint cs = EwGetRectSize( value );
    XPoint ns = cs;
    XPoint delta;

    if ( ns.X < _this->Appearance->WidgetMinSize.X )
      ns.X = _this->Appearance->WidgetMinSize.X;

    if ( ns.Y < _this->Appearance->WidgetMinSize.Y )
      ns.Y = _this->Appearance->WidgetMinSize.Y;

    if (( _this->Appearance->WidgetMaxSize.X > 0 ) && ( ns.X > _this->Appearance->WidgetMaxSize.X ))
      ns.X = _this->Appearance->WidgetMaxSize.X;

    if (( _this->Appearance->WidgetMaxSize.Y > 0 ) && ( ns.Y > _this->Appearance->WidgetMaxSize.Y ))
      ns.Y = _this->Appearance->WidgetMaxSize.Y;

    delta = EwMovePointNeg( ns, cs );

    if ( delta.X != 0 )
    {
      XBool alignToLeft = (( _this->Super3.Layout & CoreLayoutAlignToLeft ) == CoreLayoutAlignToLeft );
      XBool alignToRight = (( _this->Super3.Layout & CoreLayoutAlignToRight ) == 
        CoreLayoutAlignToRight );

      if ( alignToLeft && !alignToRight )
        value.Point2.X = ( value.Point2.X + delta.X );
      else
        if ( !alignToLeft && alignToRight )
          value.Point1.X = ( value.Point1.X - delta.X );
        else
        {
          value.Point1.X = ( value.Point1.X - ( delta.X / 2 ));
          value.Point2.X = ( value.Point1.X + ns.X );
        }
    }

    if ( delta.Y != 0 )
    {
      XBool alignToTop = (( _this->Super3.Layout & CoreLayoutAlignToTop ) == CoreLayoutAlignToTop );
      XBool alignToBottom = (( _this->Super3.Layout & CoreLayoutAlignToBottom ) 
        == CoreLayoutAlignToBottom );

      if ( alignToTop && !alignToBottom )
        value.Point2.Y = ( value.Point2.Y + delta.Y );
      else
        if ( !alignToTop && alignToBottom )
          value.Point1.Y = ( value.Point1.Y - delta.Y );
        else
        {
          value.Point1.Y = ( value.Point1.Y - ( delta.Y / 2 ));
          value.Point2.Y = ( value.Point1.Y + ns.Y );
        }
    }
  }

  CoreGroup_OnSetBounds((CoreGroup)_this, value );
}

/* The method UpdateViewState() is invoked automatically after the state of the 
   component has been changed. This method can be overridden and filled with logic 
   to ensure the visual aspect of the component does reflect its current state. 
   For example, the 'enabled' state of the component can affect its colors (disabled 
   components may appear pale). In this case the logic of the method should modify 
   the respective color properties accordingly to the current 'enabled' state. 
   The current state of the component is passed as a set in the parameter aState. 
   It reflects the very basic component state like its visibility or the ability 
   to react to user inputs. Beside this common state, the method can also involve 
   any other variables used in the component as long as they reflect its current 
   state. For example, the toggle switch component can take in account its toggle 
   state 'on' or 'off' and change accordingly the location of the slider, etc.
   Usually, this method will be invoked automatically by the framework. Optionally 
   you can request its invocation by using the method @InvalidateViewState(). */
void WidgetSetPushButton_UpdateViewState( WidgetSetPushButton _this, XSet aState )
{
  XBool needsFace;
  XBool needsIcon;
  XBool needsLabel;
  XBool restack;
  XRect area;
  XBool isEnabled;
  XBool isFocused;
  XBool isPressed;

  CoreGroup_UpdateViewState((CoreGroup)_this, aState );
  needsFace = (XBool)(( _this->Appearance != 0 ) && (((( _this->Appearance->FaceDefault 
  != 0 ) || ( _this->Appearance->FaceDisabled != 0 )) || ( _this->Appearance->FaceFocused 
  != 0 )) || ( _this->Appearance->FaceActive != 0 )));
  needsIcon = (XBool)( _this->Icon != 0 );
  needsLabel = (XBool)((( _this->Appearance != 0 ) && ( EwCompString( _this->Label, 
  0 ) != 0 )) && ( _this->Appearance->LabelFont != 0 ));
  restack = 0;
  area = EwGetRectORect( _this->Super2.Bounds );

  if ( needsFace && ( _this->frameView == 0 ))
  {
    _this->frameView = EwNewObject( ViewsFrame, 0 );
    CoreGroup__Add( _this, ((CoreView)_this->frameView ), 0 );
    restack = 1;
  }
  else
    if ( !needsFace && ( _this->frameView != 0 ))
    {
      CoreGroup_Remove((CoreGroup)_this, ((CoreView)_this->frameView ));
      _this->frameView = 0;
    }

  if ( needsIcon && ( _this->imageView == 0 ))
  {
    _this->imageView = EwNewObject( ViewsImage, 0 );
    CoreGroup__Add( _this, ((CoreView)_this->imageView ), 0 );
    restack = 1;
  }
  else
    if ( !needsIcon && ( _this->imageView != 0 ))
    {
      CoreGroup_Remove((CoreGroup)_this, ((CoreView)_this->imageView ));
      _this->imageView = 0;
    }

  if ( needsLabel && ( _this->textView == 0 ))
  {
    _this->textView = EwNewObject( ViewsText, 0 );
    CoreGroup__Add( _this, ((CoreView)_this->textView ), 0 );
    restack = 1;
    ViewsText_OnSetEnableBidiText( _this->textView, 1 );
  }
  else
    if ( !needsLabel && ( _this->textView != 0 ))
    {
      CoreGroup_Remove((CoreGroup)_this, ((CoreView)_this->textView ));
      _this->textView = 0;
    }

  if ( restack )
  {
    if ( _this->frameView != 0 )
      CoreGroup__RestackTop( _this, ((CoreView)_this->frameView ));

    if ( _this->imageView != 0 )
      CoreGroup__RestackTop( _this, ((CoreView)_this->imageView ));

    if ( _this->textView != 0 )
      CoreGroup__RestackTop( _this, ((CoreView)_this->textView ));
  }

  isEnabled = (( aState & CoreViewStateEnabled ) == CoreViewStateEnabled );
  isFocused = (( aState & CoreViewStateFocused ) == CoreViewStateFocused );
  isPressed = (XBool)((( _this->TouchHandler.Down && _this->TouchHandler.Inside ) 
  || _this->KeyHandler.Down ) || _this->FlashTimer.Enabled );

  if ( _this->frameView != 0 )
  {
    ResourcesBitmap bitmap = 0;
    XInt32 frameNo = -1;
    XColor tint = _Const0000;
    XSet layout = _this->Appearance->FaceLayout;
    XRect r = area;

    if ( !isEnabled )
    {
      bitmap = _this->Appearance->FaceDisabled;
      frameNo = _this->Appearance->FaceFrameDisabled;
      tint = _this->Appearance->FaceTintDisabled;
    }
    else
      if ( isPressed )
      {
        bitmap = _this->Appearance->FaceActive;
        frameNo = _this->Appearance->FaceFrameActive;
        tint = _this->Appearance->FaceTintActive;
      }
      else
        if ( isFocused )
        {
          bitmap = _this->Appearance->FaceFocused;
          frameNo = _this->Appearance->FaceFrameFocused;
          tint = _this->Appearance->FaceTintFocused;
        }
        else
        {
          bitmap = _this->Appearance->FaceDefault;
          frameNo = _this->Appearance->FaceFrameDefault;
          tint = _this->Appearance->FaceTintDefault;
        }

    ViewsFrame_OnSetAnimated( _this->frameView, (XBool)( frameNo < 0 ));
    ViewsFrame_OnSetColor( _this->frameView, tint );

    if ( frameNo < 0 )
      frameNo = 0;

    if (( bitmap != 0 ) && !(( layout & CoreLayoutResizeHorz ) == CoreLayoutResizeHorz ))
    {
      XBool alignToLeft = (( layout & CoreLayoutAlignToLeft ) == CoreLayoutAlignToLeft );
      XBool alignToRight = (( layout & CoreLayoutAlignToRight ) == CoreLayoutAlignToRight );
      XInt32 w = bitmap->FrameSize.X;

      if ( alignToLeft && !alignToRight )
        r.Point2.X = ( r.Point1.X + w );
      else
        if ( !alignToLeft && alignToRight )
          r.Point1.X = ( r.Point2.X - w );
        else
        {
          r.Point1.X = (( EwGetRectW( r ) / 2 ) - ( w / 2 ));
          r.Point2.X = ( r.Point1.X + w );
        }
    }

    if (( bitmap != 0 ) && !(( layout & CoreLayoutResizeVert ) == CoreLayoutResizeVert ))
    {
      XBool alignToTop = (( layout & CoreLayoutAlignToTop ) == CoreLayoutAlignToTop );
      XBool alignToBottom = (( layout & CoreLayoutAlignToBottom ) == CoreLayoutAlignToBottom );
      XInt32 h = bitmap->FrameSize.Y;

      if ( alignToTop && !alignToBottom )
        r.Point2.Y = ( r.Point1.Y + h );
      else
        if ( !alignToTop && alignToBottom )
          r.Point1.Y = ( r.Point2.Y - h );
        else
        {
          r.Point1.Y = (( EwGetRectH( r ) / 2 ) - ( h / 2 ));
          r.Point2.Y = ( r.Point1.Y + h );
        }
    }

    ViewsFrame_OnSetFrameNumber( _this->frameView, frameNo );
    ViewsFrame_OnSetBitmap( _this->frameView, bitmap );
    CoreRectView__OnSetBounds( _this->frameView, r );
  }

  if (( _this->imageView != 0 ) && ( _this->Appearance != 0 ))
  {
    XInt32 frameNo = -1;
    XColor clr = _Const0000;

    if ( !isEnabled )
    {
      frameNo = _this->IconFrameDisabled;
      clr = _this->Appearance->IconTintDisabled;
    }
    else
      if ( isPressed )
      {
        frameNo = _this->IconFrameActive;
        clr = _this->Appearance->IconTintActive;
      }
      else
        if ( isFocused )
        {
          frameNo = _this->IconFrameFocused;
          clr = _this->Appearance->IconTintFocused;
        }
        else
        {
          frameNo = _this->IconFrameDefault;
          clr = _this->Appearance->IconTintDefault;
        }

    ViewsImage_OnSetAnimated( _this->imageView, (XBool)( frameNo < 0 ));

    if ( frameNo < 0 )
      frameNo = 0;

    CoreRectView__OnSetBounds( _this->imageView, EwNewRect( area.Point1.X + _this->Appearance->IconMarginLeft, 
    area.Point1.Y + _this->Appearance->IconMarginTop, area.Point2.X - _this->Appearance->IconMarginRight, 
    area.Point2.Y - _this->Appearance->IconMarginBottom ));
    ViewsImage_OnSetAlignment( _this->imageView, _this->Appearance->IconAlignment );
    ViewsImage_OnSetBitmap( _this->imageView, _this->Icon );
    ViewsImage_OnSetFrameNumber( _this->imageView, frameNo );
    ViewsImage_OnSetColor( _this->imageView, clr );
  }
  else
    if ( _this->imageView != 0 )
    {
      XInt32 frameNo = -1;

      if ( !isEnabled )
      {
        frameNo = _this->IconFrameDisabled;
      }
      else
        if ( isPressed )
        {
          frameNo = _this->IconFrameActive;
        }
        else
          if ( isFocused )
          {
            frameNo = _this->IconFrameFocused;
          }
          else
          {
            frameNo = _this->IconFrameDefault;
          }

      CoreRectView__OnSetBounds( _this->imageView, area );
      ViewsImage_OnSetAlignment( _this->imageView, ViewsImageAlignmentAlignHorzCenter 
      | ViewsImageAlignmentAlignVertCenter );
      ViewsImage_OnSetBitmap( _this->imageView, _this->Icon );
      ViewsImage_OnSetFrameNumber( _this->imageView, frameNo );
      ViewsImage_OnSetColor( _this->imageView, _Const0000 );
    }

  if ( _this->textView != 0 )
  {
    XColor clr = _Const0000;

    if ( !isEnabled )
      clr = _this->Appearance->LabelColorDisabled;
    else
      if ( isPressed )
        clr = _this->Appearance->LabelColorActive;
      else
        if ( isFocused )
          clr = _this->Appearance->LabelColorFocused;
        else
          clr = _this->Appearance->LabelColorDefault;

    CoreRectView__OnSetBounds( _this->textView, EwNewRect( area.Point1.X + _this->Appearance->LabelMarginLeft, 
    area.Point1.Y + _this->Appearance->LabelMarginTop, area.Point2.X - _this->Appearance->LabelMarginRight, 
    area.Point2.Y - _this->Appearance->LabelMarginBottom ));
    ViewsText_OnSetAlignment( _this->textView, _this->Appearance->LabelAlignment );
    ViewsText_OnSetWrapText( _this->textView, 1 );
    ViewsText_OnSetEllipsis( _this->textView, 1 );
    ViewsText_OnSetFont( _this->textView, _this->Appearance->LabelFont );
    ViewsText_OnSetString( _this->textView, _this->Label );
    ViewsText_OnSetColor( _this->textView, clr );
  }
}

/* 'C' function for method : 'WidgetSet::PushButton.onConfigChanged()' */
void WidgetSetPushButton_onConfigChanged( WidgetSetPushButton _this, XObject sender )
{
  XEnum oldKeyCode;

  /* Dummy expressions to avoid the 'C' warning 'unused argument'. */
  EW_UNUSED_ARG( sender );

  oldKeyCode = _this->KeyHandler.Filter;

  if ( _this->Appearance != 0 )
    _this->KeyHandler.Filter = _this->Appearance->KeyCode;
  else
    _this->KeyHandler.Filter = CoreKeyCodeEnter;

  if (( oldKeyCode == CoreKeyCodeNoKey ) && ( _this->KeyHandler.Filter != CoreKeyCodeNoKey ))
    CoreView__ChangeViewState( _this, CoreViewStateFocusable, 0 );

  if (( oldKeyCode != CoreKeyCodeNoKey ) && ( _this->KeyHandler.Filter == CoreKeyCodeNoKey ))
    CoreView__ChangeViewState( _this, 0, CoreViewStateFocusable );

  if ( _this->Appearance != 0 )
    CoreRectView__OnSetBounds( _this, _this->Super2.Bounds );

  CoreGroup_InvalidateViewState((CoreGroup)_this );
}

/* 'C' function for method : 'WidgetSet::PushButton.onFlashTimer()' */
void WidgetSetPushButton_onFlashTimer( WidgetSetPushButton _this, XObject sender )
{
  /* Dummy expressions to avoid the 'C' warning 'unused argument'. */
  EW_UNUSED_ARG( sender );

  CoreGroup_InvalidateViewState((CoreGroup)_this );
  EwPostSignal( _this->OnActivate, ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButton.onReleaseKey()' */
void WidgetSetPushButton_onReleaseKey( WidgetSetPushButton _this, XObject sender )
{
  XInt32 pressFeedbackDuration;

  /* Dummy expressions to avoid the 'C' warning 'unused argument'. */
  EW_UNUSED_ARG( sender );

  pressFeedbackDuration = 0;

  if ( _this->Appearance != 0 )
    pressFeedbackDuration = _this->Appearance->PressedFeedbackDuration;

  CoreSimpleTouchHandler_OnSetEnabled( &_this->TouchHandler, 1 );
  EwPostSignal( _this->OnLeave, ((XObject)_this ));
  EwPostSignal( _this->OnRelease, ((XObject)_this ));
  CoreGroup_InvalidateViewState((CoreGroup)_this );

  if ((XInt32)( _this->KeyHandler.Time - _this->onPressKeyTime ) >= pressFeedbackDuration )
    EwPostSignal( _this->OnActivate, ((XObject)_this ));
  else
  {
    CoreTimer_OnSetBegin( &_this->FlashTimer, pressFeedbackDuration - (XInt32)( 
    _this->KeyHandler.Time - _this->onPressKeyTime ));
    CoreTimer_OnSetEnabled( &_this->FlashTimer, 1 );
  }
}

/* 'C' function for method : 'WidgetSet::PushButton.onPressKey()' */
void WidgetSetPushButton_onPressKey( WidgetSetPushButton _this, XObject sender )
{
  /* Dummy expressions to avoid the 'C' warning 'unused argument'. */
  EW_UNUSED_ARG( sender );

  CoreSimpleTouchHandler_OnSetEnabled( &_this->TouchHandler, 0 );
  CoreGroup_InvalidateViewState((CoreGroup)_this );

  if ( _this->FlashTimer.Enabled )
  {
    EwPostSignal( _this->OnActivate, ((XObject)_this ));
    CoreTimer_OnSetEnabled( &_this->FlashTimer, 0 );
  }

  _this->onPressKeyTime = _this->KeyHandler.Time;
  EwPostSignal( _this->OnPress, ((XObject)_this ));
  EwPostSignal( _this->OnEnter, ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButton.onLeaveTouch()' */
void WidgetSetPushButton_onLeaveTouch( WidgetSetPushButton _this, XObject sender )
{
  /* Dummy expressions to avoid the 'C' warning 'unused argument'. */
  EW_UNUSED_ARG( sender );

  CoreGroup_InvalidateViewState((CoreGroup)_this );
  EwPostSignal( _this->OnLeave, ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButton.onEnterTouch()' */
void WidgetSetPushButton_onEnterTouch( WidgetSetPushButton _this, XObject sender )
{
  /* Dummy expressions to avoid the 'C' warning 'unused argument'. */
  EW_UNUSED_ARG( sender );

  CoreGroup_InvalidateViewState((CoreGroup)_this );
  EwPostSignal( _this->OnEnter, ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButton.onReleaseTouch()' */
void WidgetSetPushButton_onReleaseTouch( WidgetSetPushButton _this, XObject sender )
{
  XInt32 pressFeedbackDuration;

  /* Dummy expressions to avoid the 'C' warning 'unused argument'. */
  EW_UNUSED_ARG( sender );

  pressFeedbackDuration = 0;

  if ( _this->Appearance != 0 )
    pressFeedbackDuration = _this->Appearance->PressedFeedbackDuration;

  _this->KeyHandler.Enabled = 1;
  EwPostSignal( _this->OnRelease, ((XObject)_this ));

  if ( !_this->TouchHandler.Inside )
    return;

  if ( _this->TouchHandler.AutoDeflected )
    return;

  if ( _this->TouchHandler.HoldPeriod >= pressFeedbackDuration )
    EwPostSignal( _this->OnActivate, ((XObject)_this ));
  else
  {
    CoreTimer_OnSetBegin( &_this->FlashTimer, pressFeedbackDuration - _this->TouchHandler.HoldPeriod );
    CoreTimer_OnSetEnabled( &_this->FlashTimer, 1 );
  }
}

/* 'C' function for method : 'WidgetSet::PushButton.onPressTouch()' */
void WidgetSetPushButton_onPressTouch( WidgetSetPushButton _this, XObject sender )
{
  /* Dummy expressions to avoid the 'C' warning 'unused argument'. */
  EW_UNUSED_ARG( sender );

  _this->KeyHandler.Enabled = 0;

  if ( _this->FlashTimer.Enabled )
  {
    EwPostSignal( _this->OnActivate, ((XObject)_this ));
    CoreTimer_OnSetEnabled( &_this->FlashTimer, 0 );
  }

  EwPostSignal( _this->OnPress, ((XObject)_this ));
}

/* 'C' function for method : 'WidgetSet::PushButton.OnSetLabel()' */
void WidgetSetPushButton_OnSetLabel( WidgetSetPushButton _this, XString value )
{
  if ( !EwCompString( _this->Label, value ))
    return;

  EwRetainString( &_this->Label, value );
  CoreGroup_InvalidateViewState((CoreGroup)_this );
}

/* 'C' function for method : 'WidgetSet::PushButton.OnSetAppearance()' */
void WidgetSetPushButton_OnSetAppearance( WidgetSetPushButton _this, WidgetSetPushButtonConfig 
  value )
{
  if ( _this->Appearance == value )
    return;

  if ( _this->Appearance != 0 )
    EwDetachObjObserver( EwNewSlot( _this, WidgetSetPushButton_onConfigChanged ), 
      (XObject)_this->Appearance, 0 );

  _this->Appearance = value;

  if ( value != 0 )
    EwAttachObjObserver( EwNewSlot( _this, WidgetSetPushButton_onConfigChanged ), 
      (XObject)value, 0 );

  EwPostSignal( EwNewSlot( _this, WidgetSetPushButton_onConfigChanged ), ((XObject)_this ));
}

/* Variants derived from the class : 'WidgetSet::PushButton' */
EW_DEFINE_CLASS_VARIANTS( WidgetSetPushButton )
EW_END_OF_CLASS_VARIANTS( WidgetSetPushButton )

/* Virtual Method Table (VMT) for the class : 'WidgetSet::PushButton' */
EW_DEFINE_CLASS( WidgetSetPushButton, CoreGroup, textView, OnLeave, FlashTimer, 
                 FlashTimer, onPressKeyTime, "WidgetSet::PushButton" )
  CoreRectView_initLayoutContext,
  CoreView_GetRoot,
  CoreGroup_Draw,
  CoreView_HandleEvent,
  CoreGroup_CursorHitTest,
  CoreRectView_ArrangeView,
  CoreRectView_MoveView,
  CoreRectView_GetExtent,
  CoreGroup_ChangeViewState,
  WidgetSetPushButton_OnSetBounds,
  CoreGroup_OnSetFocus,
  CoreGroup_DispatchEvent,
  CoreGroup_BroadcastEvent,
  WidgetSetPushButton_UpdateViewState,
  CoreGroup_InvalidateArea,
  CoreGroup_RestackBehind,
  CoreGroup_RestackTop,
  CoreGroup_Restack,
  CoreGroup_Add,
EW_END_OF_CLASS( WidgetSetPushButton )

/* Embedded Wizard */
