Package: GWindows.Scroll_Panels

Dependencies

with GWindows.Base;
with GWindows.Windows;
with GWindows.Panels;

Description

GWINDOWS - Ada 95 Framework for Win32 Development

G W I N D O W S . S C R O L L _ P A N E 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

Inside_Panel_Type

This is the type of the panel contained in the Scroll Panel


Header

package GWindows.Scroll_Panels is
 

Type Summary

Inside_Panel_Type derived from Panel_Type
Overridden Operations:  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, Border_Thickness, Border_Thickness, Border_Type, Border_Type, 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, 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
Pointer_To_Scroll_Panel_Class
Scroll_Panel_Access
Scroll_Panel_Type derived from Window_Type
Overridden Operations:  On_Create, On_Horizontal_Scroll, On_Size, On_Vertical_Scroll
New Operations:  Panel_Size
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, 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_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_Handler, 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

Other Items:

type Inside_Panel_Type is
  new GWindows.Panels.Panel_Type with null record;

procedure On_Destroy (Window : in out Inside_Panel_Type);
Handles being destroyed by contained Cancel_Button_Type's

type Scroll_Panel_Type is
  new GWindows.Windows.Window_Type with
   record
      Panel : Inside_Panel_Type;
   end record;
Scroll_Panel_Type

Scroll_Panel_Type can also be used to create a regular window that scrolls its contents which are placed on the inside panel


type Scroll_Panel_Access is access all Scroll_Panel_Type;

type Pointer_To_Scroll_Panel_Class is access all Scroll_Panel_Type'Class;
Scroll_Panel_Type - Methods

procedure Panel_Size (Window : in out Scroll_Panel_Type;
                      Width  : in     Integer;
                      Height : in     Integer);
Using this method to set the panel size will insure that scroll bars are updated if needed on the Scroll Panel. You can also set the size of the inside panel directly, but the scroll bars will not be adjusted for the Scroll Panel until the next On_Size event is received.

procedure On_Create (Window : in out Scroll_Panel_Type);
Handles creation of internal panel

procedure On_Vertical_Scroll
  (Window  : in out Scroll_Panel_Type;
   Request : in     GWindows.Base.Scroll_Request_Type;
   Control : in     GWindows.Base.Pointer_To_Base_Window_Class);
Handles vertical scroll

procedure On_Horizontal_Scroll
  (Window  : in out Scroll_Panel_Type;
   Request : in     GWindows.Base.Scroll_Request_Type;
   Control : in     GWindows.Base.Pointer_To_Base_Window_Class);
Handles horizontal scroll

procedure On_Size (Window : in out Scroll_Panel_Type;
                   Width  : in     Integer;
                   Height : in     Integer);
Handles size changes
end GWindows.Scroll_Panels;