プロジェクト

全般

プロフィール

窓システムWiki

※以下、実際のコードがそうなっていない場合はコードのほうを修正する必要がある

  • 窓システムはWidgetのツリーで構成される
  • Widgetのツリーは空のWidgetを頂点とする

    • これはPickやReDepthなどの処理でトップレベルWidgetを辿る時にVIEWの中に手を突っ込まないで済むために必要(要するに結合度抑制のため)
    • WidgetにはstaticなDraw、DrawTransparentやUpdateがあり、Widgetのツリーはその関数から根Widgetのインスタンスを介して辿られる
    • 根Widgetはstaticに作られるかも知れない
  • ContainerWidgetはautoDepthが設定されている

    • wODMではPositionWidget扱い?
    • attributeを一つ空けて種類を一つ増やすのも悪くはない
  • PickはPickしたWidgetそれ自体と直系の祖先全てを兄弟に対して先頭にし、ReDepthする

    • ただし実際に処理されるのはautoDepthが設定されている場合に限る
  • ReDepthはautoDepthが設定されている場合に限り兄弟の奥行きを順番通りに直す