SPLITWIN.PRE

/********************************************************************
Copyright (c)1999 Prolog Development Center A/S
FileName: SPLITWIN.PRE
Purpose: Split window object. Bottom level. Global predicates.
Written by: Carsten Kehler Holst
Build: 007.990304
Tested with: Visual Prolog v.5.1 build 563
Comments:
*********************************************************************/
GLOBAL PREDICATES
%* splitwin_Create **************************************************
% Creates a split window with the designated number
% of Columns and Rows.
% The window is created invisible and is made visible by
% splitwin_Show.
%
% exit: Illegal parameter value,
% IF illegal Columns, Rows, WinType is not w_TopLevel or w_Child
%********************************************************************
window /* SplitWin */ splitwin_Create(
wintype WinType,
rct Rectangle,
string Title,
menu Menu,
window ParentWindow,
wsflags Flags,
splitwin_resize_cb ResizeCallback,
splitwin_update_cb UpdateCallback,
splitwin_events_cb EventCallback,
integer Columns,
integer Rows)
- procedure (i, i, i, i, i, i, i, i, i, i, i)
%* splitwin_CreateInWindow ******************************************
% Works like splitwin_Create but in an already created window,
% for use with custom controls, or created window.
% The created window should not contain the wsf_ClipChildren flag.
%
% exit: Illegal parameter value,
% IF illegal Columns, Rows
%********************************************************************
splitwin_CreateInWindow(
window SplitWin,
splitwin_resize_cb ResizeCallback,
splitwin_update_cb UpdateCallback,
integer Columns,
integer Rows)
- procedure (i,i,i,i,i)
%* splitwin_GetPane *************************************************
% Returns the child window contained in pane (Column, Row) or NullWin
%
% exit: Illegal parameter value,
% IF illegal Column, Row, Splitwin
%********************************************************************
window /* PaneWin */ splitwin_GetPane(
window SplitWin,
integer Column,
integer Row)
- procedure (i, i, i)
%* splitwin_Show ****************************************************
% splitwin_Show makes the splitwin Visible
%********************************************************************
splitwin_Show(
window SplitWin)
- procedure (i)
%--------------------------------------------------------------------
% Row and Column manipulations
%--------------------------------------------------------------------
%* splitwin_SetPane *************************************************
% Sets the pane (column, row) to be the childwindow PaneWin.
% Returns the previous child window contained in that pane or NULL if
% the pane previously was empty.
%
% exit: Illegal parameter value,
% IF illegal Column, Row, Window
%********************************************************************
window /* PaneWin */ splitwin_SetPane(
window SplitWin,
integer Column,
integer Row,
window PaneWin)
- procedure (i, i, i, i)
%* splitwin_SetColumnWidth ******************************************
% Sets the Width of the Column as if the resize bar to the
% right of the column had been moved manually.
% But without checking with the resize callback.
% If there isn't a resize bar to the right or the resize bar
% to the right cannot be moved as desired, because it's limited
% by the window size, then as if the resize bar
% to the left had been moved manually.
%
% exit: Illegal parameter value,
% IF illegal Column, Window, Width
%********************************************************************
splitwin_SetColumnWidth(
window SplitWin,
integer Column,
integer Width)
- procedure (i, i, i)
%* splitwin_GetColumnWidth ******************************************
% Gets the Width of the Column.
%
% exit: Illegal parameter value,
% IF illegal Column, Window
%********************************************************************
splitwin_GetColumnWidth(
window SplitWin,
integer Column,
integer Width)
- procedure (i, i, o)
%* splitwin_SetRowHeight ********************************************
% Sets the Height of the Row as if the resize bar below the row
% had been moved manually.
% But without checking with the resize callback.
% If there isn't a resize bar below or the resize bar below cannot
% be moved as desired, because it's limited
% by the window size, then as if the resize bar above
% had been moved manually.
%
% exit: Illegal parameter value,
% IF illegal Row, Window, Height
%********************************************************************
splitwin_SetRowHeight(
window SplitWin,
integer Row,
integer Height)
- procedure (i, i, i)
%* splitwin_GetRowHeight ********************************************
% Gets the Width of the Column.
%
% exit: Illegal parameter value,
% IF illegal Row, Window
%********************************************************************
splitwin_GetRowHeight(
window SplitWin,
integer Row,
integer Height)
- procedure (i, i, o)
%* splitwin_GetPaneCoordinate ***************************************
% Returns the coordinates of the pane containing the PaneWin.
%
% exit: Illegal parameter value,
% if the PaneWin is not contained in any of the Panes.
%********************************************************************
pnt /* Coordinates */ splitwin_GetPaneCoordinate(
window SplitWin,
window PaneWin)
- procedure (i, i)
%* splitwin_SetMarginWidth ******************************************
% Sets the margin width in pixels
% Defailt is 1 pixels
%
% exit: Illegal parameter value,
% IF illegal Window
%********************************************************************
splitwin_SetMarginWidth(
window SplitWin,
integer WidthInPixels)
- procedure (i, i)
%* splitwin_GetMarginWidth ******************************************
% Gets the margin width in pixels
%
% exit: Illegal parameter value,
% IF illegal Window
%********************************************************************
splitwin_GetMarginWidth(
window SplitWin,
integer WidthInPixels)
- procedure (i, o)
%* splitwin_SetResizeBarWidth ***************************************
% Sets the Resize Bar Width in pixels
% Default is 6 pixels
%
% exit: Illegal parameter value,
% IF illegal Window
%********************************************************************
splitwin_SetResizeBarWidth(
window SplitWin,
integer WidthInPixels)
- procedure (i, i)
%* splitwin_GetResizeBarWidth ***************************************
% Gets the Resize Bar Width in pixels
%
% exit: Illegal parameter value,
% IF illegal Window
%********************************************************************
splitwin_GetResizeBarWidth(
window SplitWin,
integer WidthInPixels)
- procedure (i, o)
%* splitwin_GetColumnBarPos *****************************************
% Returns the Column resize bar coordinate,
% Including bar -1 (coordinate: Margin + 1)
% and bar N (coordinate: client Width - Margin - 1),
% where N - number of column bars.
%
% exit: Illegal parameter value,
% IF illegal Window, Column
%********************************************************************
splitwin_GetColumnBarPos(
window SplitWin,
integer Column,
integer Position)
- procedure (i, i, o)
%* splitwin_GetRowBarPos ********************************************
% Returns the Row resize bar coordinate,
% Including bar -1 (coordinate: Margin + 1)
% and bar N (coordinate: client Height - Margin - 1),
% where N - number of row bars.
%
% exit: Illegal parameter value,
% IF illegal Window, Row
%********************************************************************
splitwin_GetRowBarPos(
window SplitWin,
integer Row,
integer Position)
- procedure (i, i, o)
%* splitwin_ClearPane ***********************************************
% Returns the child window contained in pane (Column, Row)
% and deletes the Pane from the split window
%
% exit: Illegal parameter value,
% IF illegal Window, Row, Column
%********************************************************************
window /* PaneWin */ splitwin_ClearPane(
window SplitWin,
integer Column,
integer Row)
- procedure (i, i, i)
%* splitwin_DeleteColumn ********************************************
% Deletes a column and destroys all the pane windows in that column.
% The contents of the columns to the right moves one to the left.
% The column to the immediate right takes up the freed space unless
% Column is the rightmost column in which case the column to the
% immediate left gets the space
%
% exits: Illegal parameter value,
% IF illegal Window, Column
%********************************************************************
splitwin_DeleteColumn(
window SplitWin,
integer Column)
- procedure (i, i)
%* splitwin_DeleteRow ***********************************************
% Works like splitwin_DeleteColumn
%
% exits: Illegal parameter value,
% IF illegal Window, Row
%********************************************************************
splitwin_DeleteRow(
window SplitWin,
integer Row)
- procedure (i, i)
%* splitwin_InsertColumnAt ******************************************
% Creates a new column. Moves the contents of the old column and all
% the columns to the right of it one to the right.
% It makes room for the new column by pushing the column to the right
% unless it's the rightmost columns in which case it pushes the
% column to the left.
% If width is too big it makes the column as big as possible.
%
% Exits:
% if Column are not in the range 0..N where N,
% is the number of columns, if SplitWin is not a legal splitwin,
% if impossible to makes the room for the new column.
%********************************************************************
splitwin_InsertColumnAt(
window SplitWin,
integer Column,
integer Width)
- procedure (i, i, i)
%* splitwin_InsertRowAt *********************************************
% Works like splitwin_InsertColumnAt
%
% Exits:
% if Row are not in the range 0..N where N,
% is the number of rows, if SplitWin is not a legal splitwin,
% if impossible to makes the room for the new row.
%********************************************************************
splitwin_InsertRowAt(
window SplitWin,
integer Row,
integer Height)
- procedure (i, i, i)
%* splitwin_GetColumnsRows ******************************************
% Returns number of columns and rows
%********************************************************************
splitwin_GetColumnsRows(
window SplitWin,
integer Columns,
integer Rows)
- procedure (i, o, o)
|