source: branches/kmk/Lucide/plugins/ludoc/luibutton.idl @ 337

Last change on this file since 337 was 321, checked in by dmik, 12 years ago

branches/kmk: Implemented LuPopplerDocument::getInputFields() and LuPopplerInputField?.

  • Property svn:executable set to *
File size: 1.9 KB
Line 
1#ifndef luibutton_idl
2#define luibutton_idl
3
4#include <somobj.idl>
5#include <luifield.idl>
6
7/**
8 * LuInputButton represents a button.
9 */
10interface LuInputButton : LuInputField
11{
12    typedef sequence <unsigned long> SiblingSequence;
13
14    /**
15     * Possible values for getButtonType().
16     */
17    enum ButtonType {
18        Undefined, Check, Push, Radio
19    };
20
21    /**
22     * Returns the button type.
23     *
24     * To be overriden. By default, returns Undefined.
25     */
26    ButtonType getButtonType();
27
28    /**
29     * Returns TRUE if the button is checked (for Check and Radio buttons)
30     * and and FALSE otherwise.
31     *
32     * To be overriden. By default, returns FALSE.
33     */
34    boolean getState();
35
36    /**
37     * Sets the checked state of the button (for Check and Radio buttons).
38     *
39     * To be overriden. By default, does nothing.
40     */
41    void setState(in boolean aState);
42
43    /**
44     * Returns the text of the button. For Check buttons, it's the text of the
45     * On state.
46     *
47     * To be overriden. By default, returns NULL.
48     */
49    string getText();
50
51    /**
52     * Returns a sequence of IDs of the buttons in the same radio group as this
53     * Radio button. For other button types, returns NULL.
54     *
55     * Note: The returned sequence and elements must be allocated with
56     * SOMMalloc().
57     */
58    SiblingSequence *getSiblings();
59
60    /**
61     * Frees the siblings sequence returned by getSiblings().
62     *
63     * Subclasses should never override this method.
64     */
65    void freeSiblings(in SiblingSequence aSiblings);
66
67#ifdef __SOMIDL__
68
69    implementation
70    {
71        releaseorder: getButtonType, getState, setState, getText, getSiblings,
72                      freeSiblings;
73
74        freeSiblings: procedure, noself;
75    };
76
77#endif // __SOMIDL__
78};
79
80#endif // luibutton_idl
81
Note: See TracBrowser for help on using the repository browser.