Package: GWindows.Databases.Controls

Dependencies

with GWindows.Windows;
with GWindows.Buttons;
with GWindows.Base;

Description

GWINDOWS - Ada 95 Framework for Win32 Development

G W I N D O W S . D A T A B A S E S . C O N T R O L S

S p e c

$Revision: 1.2 $

Copyright (C) 1999 - 2004 David Botton

This is free software; you can redistribute it and/or modify it under terms of the GNU General Public License as published by the Free Soft- ware Foundation; either version 2, or (at your option) any later ver- sion. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License distributed with this; see file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

As a special exception, if other files instantiate generics from this unit, or you link this unit with other files to produce an executable, this unit does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU Public License.

More information about GWindows and the latest current release can be located on the web at http://www.gnavi.org/gwindows

Binding_Recordset_Type

Recordset type that supports binding to controls and windows


Header

package GWindows.Databases.Controls is
 

Type Summary

Binding_Recordset_Type derived from Recordset_Type
Overridden Operations:  Finalize, On_Before_Update, On_Change
New Operations:  Bind_Text_Control, Clear_Bindings, Fill_Bindings, Fill_Record
Inherited Operations:  Add_New, BOF, Cancel_Update, Close, Delete, Edit_Mode, EOF, Field_Count, Field_Name, Field_Updatable, Field_Updatable, Field_Value, Field_Value, Field_Value, Field_Value, Field_Value, Field_Value, Field_Value, Field_Value, Fire_On_Add_New, Fire_On_Before_Add_New, Fire_On_Before_Change, Fire_On_Before_Delete, Fire_On_Before_Field_Change, Fire_On_Before_Update, Fire_On_Change, Fire_On_Delete, Fire_On_Field_Change, Fire_On_Update, Initialize, Interface, Move, Move_First, Move_Last, Move_Next, Move_Previous, On_Add_New, On_Add_New_Handler, On_Before_Add_New, On_Before_Add_New_Handler, On_Before_Change, On_Before_Change_Handler, On_Before_Delete, On_Before_Delete_Handler, On_Before_Field_Change, On_Before_Field_Change_Handler, On_Before_Update_Handler, On_Change_Handler, On_Delete, On_Delete_Handler, On_Field_Change, On_Field_Change_Handler, On_Update, On_Update_Handler, Open, Record_Count, Requery, Resync, Update
Database_Control_Access
Database_Control_Type derived from Window_Type
Overridden Operations:  On_Create, On_Destroy
Inherited Operations:  Accelerator_Handle, Accelerator_Handle, Accelerator_Table, Accept_File_Drag_And_Drop, Attach, Attach_Control, Attach_Dialog, Attach_Dialog_Item, Border, Border, Capture_Mouse, Center, Center, Child, Client_Area_Height, Client_Area_Height, Client_Area_Size, Client_Area_Width, Client_Area_Width, Close, Control, Controlling_Parent, Create, Create_As_Control, Create_As_Dialog, Create_As_Dialog, Create_As_Tool_Window, Create_Child, Create_Control, Create_Dialog, Create_Dialog, Create_MDI_Child, Create_MDI_Top, Disable, Display_Context_Menu, Display_Context_Menu, Dock, Dock, Dock_Children, Enable, Enabled, Enabled, End_Dialog, Enumerate_Children, Finalize, Fire_On_Accelerator_Select, Fire_On_Change_Cursor, Fire_On_Character_Down, Fire_On_Character_Up, Fire_On_Close, Fire_On_Context_Menu, Fire_On_Create, Fire_On_Destroy, Fire_On_Erase_Background, Fire_On_File_Drop, Fire_On_Focus, Fire_On_Hide, Fire_On_Horizontal_Scroll, Fire_On_Left_Mouse_Button_Double_Click, Fire_On_Left_Mouse_Button_Down, Fire_On_Left_Mouse_Button_Up, Fire_On_Lost_Focus, Fire_On_MDI_Activate, Fire_On_MDI_Deactivate, Fire_On_Menu_Hover, Fire_On_Menu_Select, Fire_On_Middle_Mouse_Button_Double_Click, Fire_On_Middle_Mouse_Button_Down, Fire_On_Middle_Mouse_Button_Up, Fire_On_Mouse_Move, Fire_On_Move, Fire_On_Paint, Fire_On_Pre_Create, Fire_On_Right_Mouse_Button_Double_Click, Fire_On_Right_Mouse_Button_Down, Fire_On_Right_Mouse_Button_Up, Fire_On_Show, Fire_On_Size, Fire_On_Vertical_Scroll, First_Window, Focus, Focus, Freeze, Get_Canvas, Get_Font, Get_Full_Window_Canvas, Group, Group, Handle, Height, Height, Hide, Horizontal_Scroll_Bar, Horizontal_Scroll_Bar, Iconic, Iconic, ID, Initialize, Is_Dialog, Is_Dialog, Is_Modal, Is_Modal, Keyboard_Support, Keyboard_Support, Large_Icon, Last_Window, Left, Left, MDI_Active_Window, MDI_Active_Window, MDI_Arrange_Icons, MDI_Cascade, MDI_Client_Window, MDI_Client_Window, MDI_Close_All, MDI_Menu, MDI_Tile_Horizontal, MDI_Tile_Vertical, Menu, Menu, Menu, Menu_Refresh, Modal_Result, Modal_Result, Move, Next_Tab_Stop, Next_Window, On_Accelerator_Select, On_Accelerator_Select_Handler, On_Change_Cursor, On_Change_Cursor_Handler, On_Character_Down, On_Character_Down_Handler, On_Character_Up, On_Character_Up_Handler, On_Close, On_Close_Handler, On_Command, On_Context_Menu, On_Context_Menu_Handler, On_Create_Handler, On_Destroy_Handler, On_Draw_Item, On_Erase_Background, On_Erase_Background_Handler, On_File_Drop, On_File_Drop_Handler, On_Filter_Message, On_Focus, On_Focus_Handler, On_Hide, On_Hide_Handler, On_Horizontal_Scroll, On_Horizontal_Scroll_Handler, On_Left_Mouse_Button_Double_Click, On_Left_Mouse_Button_Double_Click_Handler, On_Left_Mouse_Button_Down, On_Left_Mouse_Button_Down_Handler, On_Left_Mouse_Button_Up, On_Left_Mouse_Button_Up_Handler, On_Lost_Focus, On_Lost_Focus_Handler, On_MDI_Activate, On_MDI_Activate_Handler, On_MDI_Deactivate, On_MDI_Deactivate_Handler, On_Menu_Hover, On_Menu_Hover_Handler, On_Menu_Select, On_Menu_Select_Handler, On_Message, On_Middle_Mouse_Button_Double_Click, On_Middle_Mouse_Button_Double_Click_Handler, On_Middle_Mouse_Button_Down, On_Middle_Mouse_Button_Down_Handler, On_Middle_Mouse_Button_Up, On_Middle_Mouse_Button_Up_Handler, On_Mouse_Move, On_Mouse_Move_Handler, On_Move, On_Move_Handler, On_Notify, On_Paint, On_Paint_Handler, On_Pre_Create, On_Pre_Create_Handler, On_Right_Mouse_Button_Double_Click, On_Right_Mouse_Button_Double_Click_Handler, On_Right_Mouse_Button_Down, On_Right_Mouse_Button_Down_Handler, On_Right_Mouse_Button_Up, On_Right_Mouse_Button_Up_Handler, On_Show, On_Show_Handler, On_Size, On_Size_Handler, On_Vertical_Scroll, On_Vertical_Scroll_Handler, Order, Order, Parent, Parent, Point_To_Client, Point_To_Desktop, Previous_Tab_Stop, Previous_Window, Redraw, Scroll_Drag_Position, Scroll_Maximum, Scroll_Maximum, Scroll_Minimum, Scroll_Minimum, Scroll_Page_Size, Scroll_Page_Size, Scroll_Position, Scroll_Position, Scroll_Range, Set_Font, Show, Size, Small_Icon, Tab_Stop, Tab_Stop, Text, Text, Text_Length, Thaw, Top, Top, Valid, Vertical_Scroll_Bar, Vertical_Scroll_Bar, Visible, Visible, Width, Width, Zoom, Zoom
Permissions_Type
Pointer_To_Database_Control_Class

Other Items:

type Binding_Recordset_Type is
  new GWindows.Databases.Recordset_Type with private;
Binding_Recordset_Type - Methods

type Permissions_Type is (Read_Only, Write_Only, Read_Write);

procedure Bind_Text_Control
  (Recordset   : in out Binding_Recordset_Type;
   Field_Name  : in     GString;
   Control     : in     GWindows.Base.Pointer_To_Base_Window_Class;
   Permissions : in     Permissions_Type := Read_Write);
Binds control to the recordset through the Text property to Field_Name

procedure Fill_Bindings (Recordset  : in out Binding_Recordset_Type);
Manually fill all bindings

procedure Clear_Bindings (Recordset : in out Binding_Recordset_Type);
Clears all bindings

procedure Fill_Record   (Recordset  : in out Binding_Recordset_Type);
Manually fill record with values from binding

procedure Finalize (Object : in out Binding_Recordset_Type);
Cleans up Binding Maps

procedure On_Before_Update (Recordset : in out Binding_Recordset_Type;
                            Change    :    out Boolean);
do a Fill_Record

procedure On_Change (Recordset : in out Binding_Recordset_Type);
Do a Fill_Bindings

type Database_Control_Type is
  new GWindows.Windows.Window_Type with
   record
      Database        : GWindows.Databases.Database_Type;
      Recordset       : Binding_Recordset_Type;
      First_Button    : GWindows.Buttons.Button_Type;
      Previous_Button : GWindows.Buttons.Button_Type;
      Add_Button      : GWindows.Buttons.Button_Type;
      Update_Button   : GWindows.Buttons.Button_Type;
      Delete_Button   : GWindows.Buttons.Button_Type;
      Next_Button     : GWindows.Buttons.Button_Type;
      Last_Button     : GWindows.Buttons.Button_Type;
   end record;
Database_Control_Type

Simple command bar for database navigation


type Database_Control_Access is access all Database_Control_Type;

type Pointer_To_Database_Control_Class is
  access all Database_Control_Type'Class;
Database_Control_Type - Event Framework Methods

These should be overiden with caution and only with a full understanding of the internals of the entire GWindows framework


procedure On_Create (Window : in out Database_Control_Type);

procedure On_Destroy (Window : in out Database_Control_Type);

procedure Do_First
  (Window : in out GWindows.Base.Base_Window_Type'Class);

procedure Do_Previous
  (Window : in out GWindows.Base.Base_Window_Type'Class);

procedure Do_Add
  (Window : in out GWindows.Base.Base_Window_Type'Class);

procedure Do_Update
  (Window : in out GWindows.Base.Base_Window_Type'Class);

procedure Do_Delete
  (Window : in out GWindows.Base.Base_Window_Type'Class);

procedure Do_Next
  (Window : in out GWindows.Base.Base_Window_Type'Class);

procedure Do_Last
  (Window : in out GWindows.Base.Base_Window_Type'Class);

private

   --  Implementation-defined ...
end GWindows.Databases.Controls;