source: trunk/design/ui/source/wui-widgets-buttons-pushs.adb

Last change on this file was 5741, checked in by vadim.godunko, 10 months ago

Add constrcutors for Push_Button.

  • Property svn:keywords set to Author Date Revision
File size: 5.4 KB
Line 
1------------------------------------------------------------------------------
2--                                                                          --
3--                            Matreshka Project                             --
4--                                                                          --
5--                               Web Framework                              --
6--                                                                          --
7--                        Runtime Library Component                         --
8--                                                                          --
9------------------------------------------------------------------------------
10--                                                                          --
11-- Copyright © 2017, Vadim Godunko <vgodunko@gmail.com>                     --
12-- All rights reserved.                                                     --
13--                                                                          --
14-- Redistribution and use in source and binary forms, with or without       --
15-- modification, are permitted provided that the following conditions       --
16-- are met:                                                                 --
17--                                                                          --
18--  * Redistributions of source code must retain the above copyright        --
19--    notice, this list of conditions and the following disclaimer.         --
20--                                                                          --
21--  * Redistributions in binary form must reproduce the above copyright     --
22--    notice, this list of conditions and the following disclaimer in the   --
23--    documentation and/or other materials provided with the distribution.  --
24--                                                                          --
25--  * Neither the name of the Vadim Godunko, IE nor the names of its        --
26--    contributors may be used to endorse or promote products derived from  --
27--    this software without specific prior written permission.              --
28--                                                                          --
29-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS      --
30-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT        --
31-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR    --
32-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT     --
33-- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,   --
34-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED --
35-- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR   --
36-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF   --
37-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING     --
38-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS       --
39-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.             --
40--                                                                          --
41------------------------------------------------------------------------------
42--  $Revision: 5741 $ $Date: 2017-01-28 20:47:07 +0000 (Sat, 28 Jan 2017) $
43------------------------------------------------------------------------------
44with WebAPI.HTML.Globals;
45
46package body WUI.Widgets.Buttons.Pushs is
47
48   -----------------
49   -- Click_Event --
50   -----------------
51
52   overriding procedure Click_Event
53    (Self  : in out Push_Button;
54     Event : in out WUI.Events.Mouse.Click.Click_Event'Class) is
55   begin
56      Abstract_Button (Self).Click_Event (Event);
57      Event.Accept_Event;
58   end Click_Event;
59
60   ------------------
61   -- Constructors --
62   ------------------
63
64   package body Constructors is
65
66      type Push_Button_Internal_Access is access all Push_Button'Class;
67
68      ------------
69      -- Create --
70      ------------
71
72      function Create
73       (Element :
74          not null WebAPI.HTML.Button_Elements.HTML_Button_Element_Access)
75            return not null Push_Button_Access
76      is
77         Result : constant not null Push_Button_Internal_Access
78           := new Push_Button;
79
80      begin
81         Initialize (Result.all, Element);
82
83         return Push_Button_Access (Result);
84      end Create;
85
86      ------------
87      -- Create --
88      ------------
89
90      function Create
91       (Id : League.Strings.Universal_String)
92          return not null Push_Button_Access is
93      begin
94         return
95           Create
96            (WebAPI.HTML.Button_Elements.HTML_Button_Element_Access
97              (WebAPI.HTML.Globals.Window.Get_Document.Get_Element_By_Id
98                (Id)));
99      end Create;
100
101
102      ----------------
103      -- Initialize --
104      ----------------
105
106      procedure Initialize
107       (Self    : in out Push_Button'Class;
108        Element :
109          not null WebAPI.HTML.Button_Elements.HTML_Button_Element_Access) is
110      begin
111         WUI.Widgets.Buttons.Constructors.Initialize
112          (Self, WebAPI.HTML.Elements.HTML_Element_Access (Element));
113      end Initialize;
114
115   end Constructors;
116
117   -----------------
118   -- Set_Enabled --
119   -----------------
120
121   overriding procedure Set_Enabled
122    (Self    : in out Push_Button;
123     Enabled : Boolean) is
124   begin
125      WebAPI.HTML.Button_Elements.HTML_Button_Element_Access
126       (Self.Element).Set_Disabled (not Enabled);
127   end Set_Enabled;
128
129end WUI.Widgets.Buttons.Pushs;
Note: See TracBrowser for help on using the repository browser.