• Showing Page History #39208
  • Showing Page History #39304

Show page source of Ageha #39303

{{{ comment
= Ageha 1.1 (AGH 2.0) =
'''AGH 2.0(Ageha)'''は、[MPX]の枠組みの中の一つです。
}}}
= AGH 2.0 (Ageha 1.1) =

'''AGH 2.0(Ageha)'''は、新たに[MPX]の枠組みの中の一つとして定義します。

MPXの中で、GUIコンポーネントの部分を担当します。

[AGH AGH 1.1]と特に大きく変わった所は、全てのあらゆるクラスを'''「コントロール」'''
として定義した事です。これは、単なる表示用コントロール(ウインドウやボタン等)のみならず、
Factoryやタイマー等も一つのコントロールとして扱います。

また、最上位コントロールとして、CWindowBase ではなく、新たに「CRootBase」が定義されています。[[BR]]
これにより、ウインドウを持たないアプリケーションや、複数のウインドウを使用するアプリケーション
にも対応出来ます。

 * CRootBase / CApplicationBase
   * CImplFactoryBase
   * CWindowBase
     * CKeyboardEventsHandler
     * CMouseEventsHandler

     * CButtonBase
     * CLabelBase / CTextBase
     * CTextBoxBase
     * CComboBoxlBase
     * CListCtrlBase
     * CTreeCtrlBase


=== Factoryとコントロール種別 ===

 * 0x00000000~0x18FFFFFF : AGHで使用
 * 0x1C000000~0x1C00FFFF : August Framework
 * 0x20000000~0x5FFFFFFF : ユーザ側で自由に定義可能
 * 0x60000000~0xFFFFFFFF : 予約

 * ROOT (0x0001)
 * IMPL_FACTORY (0x0080)
 * WINDOW (0x0300)
 * BUTTON (0x0200)
 * LABEL (0x0210)
 * TEXT_BOX (0x0220)
 * COMBO_BOX (0x0400)
 * LIST_CTRL (0x0410)
 * TREE_CTRL (0x0420)


=== DCM (Direct Control Map) ===


std::map<int,int> m_dcm;

 * ROOT (1)
 * PARENT (2)
 * CHILD (3)
 * CHILD_FIRST (4)
 * CHILD_LAST (5)
 * IMPL_FACTORY (80)
 * WINDOW (0x0300)
 * 0x20000000~0x5FFFFFFF : ユーザ側で自由に定義可能
 * CAugustRoot (0x1C000200)

 * CRoot
   * CAghMwlImplFactory
     * CWindow
       * CAugustRoot
         * CImage
         * CText


 * Ageha=Abstract Graphic-user-intErface HeAders


 * AGF=Abstract GUI Framework
 * AWF=Abstract Window Framework