|
|
|
|
WinEdDeclareUndo (Function) In french: FenEdDéclareUndo Declares how to cancel an action that was added by WinEdDo. This function is linked to the "Allow end users to modify the UI" feature. This function is mainly used when creating an editor through programming (see "Remarks"). WinEdDo(WIN_MyEditor, ProcCreateCap, "New") INTERNAL PROCÉDURE ProcCreateCap(sCap) pNew is Control pNew <- ControlCreate("STC_" + GetIdentifier(), typText, 150, 150, 80, 20) pNew.Caption = sCap WinEdDeclareUndo(ProcCancel) INTERNAL PROCÉDURE ProcCancel() ControlDelete(pNew) END END WinEdDeclareUndo(UndoOperation, CUSTOMER.CustomerID)  // Management of Undo INTERNAL PROCÉDURE UndoOperation(nCustomerID) IF HReadSeekFirst(CUSTOMER, CustomerID, nCustomerID) THEN   SourceToScreen() END Syntax
WinEdDeclareUndo(<WLanguage procedure> [, <Parameter 1> [... [, <Parameter N>]]])
<WLanguage procedure>: Procedure name Name of WLanguage procedure to run. The code of this procedure must allow to cancel the action created by WinEdDo.Using an internal procedure provides a direct access to the local variables. <Parameter 1>: Any optional type First optional parameter that will be passed to the procedure. In most cases, these parameter are values used to restore the previous status. <Parameter N>: Any optional type Nth optional parameter that will be passed to the procedure. In most cases, these parameter are values used to restore the previous status. Remarks Use example WinEdDo is used to create custom actions (control creation for example) that support the undo/redo feature. Let's take a simple example: creating a graphic object editor. A button is used to create a shape. The user must have the ability to undo the shape creation. The following operations are performed: - The window switches to edit mode (WinEdActive).
- The WinEdDo function is called. The procedure called by this function is used to create the shape. This procedure also contains the call to WinEdDeclareUndo. WinEdDeclareUndo is used to define the behavior in case of cancellation by the user.
- The window switches to standard mode (WinEdActive).
The end user can cancel this action (Ctrl + Z or WinEdUndo): then, the <WLanguage procedure> will be called. Error A WLanguage error occurs if WinEdDeclareUndo is called outside a procedure added by WinEdDo.
Related Examples:
|
Training (WINDEV): WD Graphic Objects
[ + ] This example illustrates the power of WLanguage in object oriented programming. This example is a graphic object editor. It is possible to: - move, resize objects - make selections with a lasso or a mouse - cut/copy/paste objects - delete/duplicate objects - save the created documents and print them. The main technical features presented and documented are: - management of an object clipboard - UNDO/REDO management - serialization and deserialization of objects - algorithms for managing graphic objects (proportional resizing, management of move rules, etc...)
|
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|