Free Electron
AttributeController.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __dataui_AttributeController_h__
8 #define __dataui_AttributeController_h__
9 
10 #include <dataui/dataui.pmh>
11 namespace fe
12 {
13 namespace ext
14 {
15 
16 class FE_DL_EXPORT AttributeController :
17  public Initialize<AttributeController>,
18  virtual public Config,
19  virtual public Mask,
20  virtual public HandlerI
21 {
22  public:
23  AttributeController(void);
24 virtual ~AttributeController(void);
25 
26  void initialize(void);
27 
28 virtual void handleBind(sp<SignalerI> spSignalerI, sp<Layout> l_sig);
29 virtual void handle( Record &r_sig);
30 
31  void addAttribute(const String &a_name);
32  void addUpdate(sp<RecordGroup> spUpdate);
33  void addOutput(sp<RecordGroup> spOutput);
34 
35  private:
36 virtual void handleCallback(Record &r_sig);
37 virtual void handleUpdate(Record &r_sig);
38  class Label
39  {
40  public:
41  String m_name;
42  };
43  AsStringEntry m_asStringEntry;
44  AsSignal m_asSignal;
45  AsWindata m_asWindata;
46  AsCallback m_asCallback;
47  sp<Layout> m_l_callback;
48  sp<Layout> m_l_callback_sig;
49  sp<Layout> m_l_stringentry;
50  WindowEvent::Mask m_start;
51  WindowEvent::Mask m_end;
52  WindowEvent::Mask m_update;
53  sp<BaseType> m_spStringType;
54  std::vector<Label> m_attrs;
55  Accessor<Record> m_aSE;
56  Accessor<Record> m_aTargetRecord;
57  Accessor<String> m_aTargetAttr;
58  Accessor<int> m_aTargetIndex;
59  AsGeneric m_asGeneric;
60  StringAccessor m_stringer;
61  sp<RecordGroup> m_active;
62  std::vector< sp<RecordGroup> > m_outputs;
63  std::vector< sp<RecordGroup> > m_updates;
64  bool m_live;
65 };
66 
67 
68 } /* namespace ext */
69 } /* namespace fe */
70 
71 #endif /* __dataui_AttributeController_h__ */
72 
kernel
Definition: namespace.dox:3