Class: Standard_Grid_Mixin
Class Hierarchy:
cObjectMixinStandard_Grid_MixinMixins:
Auto_Setup_Mixin, FloatingPopupMenu_Mixin, Mask_form_Mixin, Multi_Item_Shadow_Mixin, Standard_Object_Mixin,
Class Definition
Properties
IntegerCurrent_Position
IntegerMaximum_Position
IntegerMinimum_Position
added for prompt and spin button support. These should be set in OnInitSpin
integerpeResizeColumn
mode for reszing columns when grid is resized
integerpiLastResizedColumn
private. System uses it
integerpiResizeColumn
if peResize column is set to rcSelectedColumn, this determines which column is sized
integerpiWheelDelta
internal, accumulates mouse wheel clicks
Functions and Procedures
integerActivate()
This fixes a bug in grids where activating a grid whose
item's entry_state is false does not display the dotted outline
if the item is not changed (set current_item not called). This is
a temporary workaround that should be removed as soon as this is
fixed in the runtime. We want to use base class new_item message
which paints the rectangle but does little else. Note the use of
forward send (a technique which is only used as a low level bug fix.
NOTE: This replaces the activate in Shadow_mixin. When this is fixed
this can be removed. (it duplicates the shadow activate purpose)
IntegerActivate_Column(Integer Item#)
IntegerActivate_Item(Integer Item#)
Add_Item(integer iMessage string sValue)
when active a grid does not repaint new items on the screen
This forces a repaint when an item is added.
DateBase_Date()
We will check for the unlikely case of a two year date.
If the data value is 2 year-ish we will assume that
we want a two year date
Beginning_of_Data()
Support for Beginning_of_Data and End_of_Data
Note that these messsages are Column sensitive. They do not
switch columns.
Jump to the first column
IntegerColumn(Integer Item#)
Return the column of the passed item
Combo_Edit_Changed(integer iItem)
Combo_Item_Changed(integer iItem)
Command(integer wParam integer lParam)
Procedure Command Integer wParam Integer lParam
Forward Send Command wParam lParam
If (Hi(wParam)) eq EN_CHANGE Begin
Send OnChange (Current_Item(self))
End
Else If (Hi(wParam)) eq EN_MAXTEXT Begin
Send OnMaxText
End
End_Procedure
IntegerCurrent_Col()
Return the column of the current-item
Define_Standard_Grid_Mixin()
DoadjustGridWidths(integer iGuiDelta)
adjust columns when anchors change. Uses delta value passed and property
piResizeColumn
DoApplyAnchors(integer x integer y)
DoScrollDown()
DoScrollUp()
DoSpinOne(integer bUp)
private: Used by keys. bUp means add
End_of_Data()
jump to the last column
Form_Button_Mouse_Down(Integer iItem integer Counter)
private: called when prompt of spin button is pressed.
this is augmented to set up ranges for spin buttons
Form_Button_Notification(integer iItem integer iPos)
private: called when prompt or spin button is pressed
Header_Mouse_Click(Integer Item#)
Header_Mouse_Double_Click(Integer Item#)
Header_Notification(Integer Mode Integer Item#)
OnChange(integer iItem)
OnCloseUp(integer iItem)
OnDropDown(integer iItem)
OnInitSpin()
Public: for Augmentation
based on the current_item (get current_item) or current column
(get current_col or get Column iCurrentItem) set spin params
can set minimum_position, maximum_position,
OnMaxText(integer iItem)
OnMouseWheel(integer iClicks integer iKey)
public event. By default just move up or down a line
OnWmMouseWheel(Integer wParam Integer lParam)
low level notification that wm_mouseWheel was sent. Passes windows
defined parameters. If you need to do something special, use OnMouseWheel
Prompt()
by default this does nothing. Called when prompt button is called. Use Current_item to
figure out what to do.
Request_Status_Help(Integer Fg)
Scroll(Integer eDirection Integer iNumLines)
Scroll
1. Is column sensitive. It will never scroll out of the
current column
2. Painting fixes and optimizations - no flickering
Select_Toggling(integer iItm Integer bState)
Sometimes this can get called when the object is disabled. A mouse_up will send
this even though the object did not take the focus. This stops that behavior.
Set(String Item# String Shelp)
Set(Integer iItem String sValue)
Set(integer iItem string svalue)
Set(Integer Itm)
Set Current_Item / Set New_Item
1. Modified to optimize painting and make scrolling work properly
2. Add Request_Status_Help for item changes.
Set(Integer Itm)
Set(integer st)
Set Dynamic_Update_State
Modified to works as follows:
If 0, turn DUS off
If 1, Invalidate all cells and make it "2"
If 2, repaint only invalid cells plus scroll bars. Not Header
If 3, repaint everything (including headers)
When complete a 1,2 or 3 will set this property to 1.
set(integer hwNewFoc integer hwOldFoc)
Bug Fix. Focus change to object does not send notify_focus_change.
This will force this (which also forces onSetFocus)
Set(integer iValue)
integerSpin_Value()
StringStatus_Help(Integer Item#)
Value_Spinned(Integer iValue)
Messages added for Prompt and Grid support