|
|
(4 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | (no text)
| |
| | | |
− | == Dlg_proc (temp text) ==
| |
− |
| |
− | ===dlg_proc===
| |
− |
| |
− | dlg_proc(id_dialog, id_action, prop="", index=-1, index2=-1)
| |
− |
| |
− | Advanced work with dialogs (forms). More advanced than dlg_custom(), e.g. dialogs can show as modal/nonmodal.
| |
− | Dialogs use on_dlg event, it's described in events section.
| |
− |
| |
− | ====Form properties====
| |
− |
| |
− | * "cap": str: Caption of form.
| |
− | * "x", "y": int: Position (screen coordinates), left/top.
| |
− | * "w", "h": int: Size, width/height.
| |
− | * "w_min", "w_max": int: Constraints for width, min/max value.
| |
− | * "h_min", "h_max": int: Constraints for height, min/max value.
| |
− | * "resize": bool: Allows form to resize.
| |
− |
| |
− | ====Control properties====
| |
− |
| |
− | * "name": str: Optional word-like string, name of control, to find control later by name.
| |
− | * "cap": str: Caption of control.
| |
− | * "x", "y": int: Position (coordinates relative to dialog), left/top.
| |
− | * "w", "h": int: Size, width/height.
| |
− | * "en": bool: Enabled state.
| |
− | * "vis": bool: Visible state.
| |
− | * "font": str: Font props, in the form (str_font_name, int_font_size, int_font_color).
| |
− | * "hint": str: Hint (tooltip) for mouse-over. Newlines must be "\r".
| |
− | * "act": bool: Active state. For active control, change of value calls the event (on_dlg or custom callback). Buttons are active by default.
| |
− | * "props": str: Advanced control-specific props. Described in dlg_custom.
| |
− | * "items": str: Usually tab-separated items. Described in dlg_custom.
| |
− | * "val": str: Value of control. Described in dlg_custom.
| |
− | * "tag": str: Any string, set by plugin.
| |
− |
| |
− | * "callback": str: If not empty, active control calls this callback instead of on_dlg event. Has one of forms:
| |
− | ** "module=mmm;cmd=nnn;" - to call method nnn (in class Command) in plugin mmm (mmm is usually subfolder in the "cudatext/py", but can be any module name)
| |
− | ** "mmm.nnn" - the same, to call method, short form
| |
− | ** "module=mmm;func=nnn;" - to call function nnn in root of module mmm
| |
− |
| |
− | ====Actions====
| |
− |
| |
− | Param prop: it can be of any simple type (str, int, bool), also tuple/list (of any simple type), also dict (keys: str, values: simple type or tuple/list). Most used is dict. Example of control props: prop={"cap": "...", "x": 10, "y": 10, "w": 600, "en": False}.
| |
− |
| |
− | Param id_dialog: int, form handle. Ignored only for DLG_CREATE (pass 0).
| |
− |
| |
− | Possible values of id_action:
| |
− |
| |
− | * DLG_CREATE: Creates new form, gets form handle.
| |
− | * DLG_HIDE: Hides from.
| |
− | * DLG_FREE: Hides and deletes form.
| |
− | * DLG_SHOW_MODAL: Shows form in modal mode (blocks input to other forms).
| |
− | * DLG_SHOW_NONMODAL: Shows form in non-modal mode.
| |
− | * DLG_FOCUS: Focuses form (in non-modal mode).
| |
− | * DLG_PROP_GET: Gets form props, as dict.
| |
− | * DLG_PROP_SET: Sets from props. Param "prop" is dict with props. See example above, see list of possible form props.
| |
− | * DLG_CTL_COUNT: Gets count of controls on form.
| |
− | * DLG_CTL_ADD: Adds new control to form, gets its index, or None if cannot add. Param "prop" is type of control. See description in dlg_custom.
| |
− | * DLG_CTL_PROP_GET: Gets control props, as dict. Param "index" is index of control.
| |
− | * DLG_CTL_PROP_SET: Sets control props. Param "index" is index of control. Param "prop" is dict with props.
| |
− | * DLG_CTL_DELETE: Deletes control. Param "index" is index of control.
| |
− | * DLG_CTL_DELETE_ALL: Deletes all controls.
| |
− | * DLG_CTL_FOCUS: Focuses control. Param "index" is index of control.
| |
− | * DLG_CTL_FIND_NAME: Gets index of control by name, or -1 if cannot find. Param "prop" is name.
| |
− | * DLG_COORD_LOCAL_TO_SCREEN: Converts x/y coordinates from form-related, to screen-related. Param "index" is x, "index2" is y. Gets tuple (x,y).
| |
− | * DLG_COORD_SCREEN_TO_LOCAL: Converts x/y coordinates from screen-related, to form-related. Param "index" is x, "index2" is y. Gets tuple (x,y).
| |
− |
| |
− | ====Example====
| |
− |
| |
− | Detailed demo plugin exists, it shows many dlg_proc actions, shows modal/nonmodal forms, uses callbacks, moves control by button click, moves control on form resize. It is in the CudaText repo with name "cuda_testing_dlg_proc".
| |