etc.negui.layout.panel.panel

パネル。
テーブルみたいなんを作りたかったけどLineとかTansu使えば補完できたのでもはややる気なっしんぐ。
class PanelException: etc.negui.layout.layout.LayoutException;

enum DIRECTION;
方向。
HORIZON
水平
VERTICAL
垂直
struct CONTENT;

enum TYPE;

NONE

GUI

PANEL

TYPE type;

void* None;
何にも保持してない。
なんとなく共用体。後悔してる。
History:
1.030
  • source不要になったstructの排除。
1.00β18
  • sourcedockがあまりにも不憫だったので介錯。
NeGui gui;
内部コントロール。将来的にControlに置き換えたい。
なんとなく共用体。後悔してる。
History:
1.030
  • source不要になったstructの排除。
1.00β18
  • sourcedockがあまりにも不憫だったので介錯。
Panel panel;
内部パネル。
なんとなく共用体。後悔してる。
History:
1.030
  • source不要になったstructの排除。
1.00β18
  • sourcedockがあまりにも不憫だったので介錯。
void set(NeGui gui , Panel panel );

package void onSize(ref const(RECT) ContentSize );
サイズ変更を実行。
Layout.onSizeでLayout.Contentsから呼び出す。 TYPE.PANELはpanelに任せてTYPE.GUIの処理を行う。
Params:
const(RECT) ContentSize
自身が使用できる領域。 Layout.onSizeと違い、こちらはpadding, marginが考慮されたコンテンツ領域。 margin等の計算はLayout.onSizeで行う。
History:
1.030
  • sourcefinal switchの導入。
struct SIZEINFO;

enum TYPE;

ABSOLUTE

PERCENT

TYPE type;

const int absolute();
微調整用。使用注意。
int absolute(int Absolute );

const real percent();

real percent(real Percent );

abstract class Panel: etc.negui.layout.layout.Layout;
Note:
+=nullをなんとかしないと。
const size_t length();
void length(in size_t Length );

const CONTENT opIndex(in size_t Index );

void opIndexAssign(CONTENT Content , in size_t Index );
void opIndexAssign(NeGui gui , in size_t Index );
void opIndexAssign(Panel panel , in size_t Index );

void opAddAssign(CONTENT Content );
void opAddAssign(NeGui gui );
void opAddAssign(Panel panel );
void opAddAssign(PANEL_SPACE);

const NeGui gui(in size_t Index );

const Panel panel(in size_t Index );

protected final RECT GetInPaddingSize(ref const(RECT) TotalSize );
パディング領域を含む領域の取得。
History:
1.00β18
  • sourceprotected属性に変更。
protected final RECT GetContentSize(ref const(RECT) InPaddingSize );
有効なコンテント領域の取得。
History:
1.00β18
  • sourceprotected属性に変更。
protected const final size_t GetTotalPaddingSize(in DIRECTION Direction , ref const RECT InPaddingSize );
History:
1.00β18
  • 新規作成。
abstract interface IDirection;

template TDirection()

int GetElemntSize(in DIRECTION Direction , ref const(SIZEINFO) SizeInfo , ref const(RECT) InPaddingSize );
History:
1.00β18
  • source余白計算部分分散化。