All pastes #814762 Raw Edit

attempt to switch WFL grids

public text v1 · immutable
·published 2007-12-13 15:20 UTC
rendered paste body


REQUIRE NEEDS ~day/lib/includemodule.f
NEEDS ~ygrek/lib/wfl/grid/grid.f

\ Небольшое отцепление, чтобы сделать возможным подключение статических 
\ элементов управления. Насколько правильно так делать -- не знаю
: (put) ( obj -- )
   TO ctl
   CGridBox NewObj put-box
   parent SELF ctl => create DROP
   ctl box => :control! ;

0 VALUE ddd

MODULE: ids

CStatic NEW label1
CEventButton NEW button1
VECT changeLabel ( event -- )

;MODULE

CDialog SUBCLASS CMyDialog

CGridController OBJ _g

W: WM_INITDIALOG

 0 GRID


ids::label1 this (put)

S" 1" =text

CStatic
put

S" 2" =text

ROW

ids::button1 this (put)

S" 3" =text

ids::['] changeLabel =command

ROW

;GRID _g :grid!

_g this SUPER injectMsgController

 TRUE
;

: changeGrid ( grid -- )
_g :grid!
;

:NONAME DROP S" :NONAME 0 GRID CStatic put S' text' =text ROW ;GRID ; EXECUTE ddd => changeGrid" EVALUATE
;
ids::TO changeLabel

;CLASS

0 0 0 0
WS_POPUP WS_SYSMENU OR WS_CAPTION OR DS_MODALFRAME OR WS_SIZEBOX OR
DS_CENTER OR

DIALOG: dlg1 grid-show!
DIALOG;

: winTest ( -- n )
  || CMyDialog dlg ||
dlg this TO ddd
  dlg1 0 dlg showModal DROP
;

winTest