/*
* SysLink.h
* Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED.
*/
// SOL9
// 2009/10/13
#pragma once
#include <sol\Primitive.h>
namespace SOL {
class SysLink :public Primitive {
public:
SysLink() :Primitive() { }
public:
SysLink(View* parent, HWND hwnd)
:Primitive(parent, hwnd) { }
public:
SysLink(View* parent, const TCHAR* name, Args& args)
:Primitive(parent, name,
args.set(XmNpredefined, True)
.set(XmNuseDefaultFont, _T("true"))
.set(XmNclassName, _T("SysLink")))
{
ulong val;
if (args.get(XmNwidth, &val) == False ||
args.get(XmNheight, &val) == False) {
const TCHAR* label = name;
if (args.get(XmNlabelString, &val))
label = (TCHAR*)val;
resize(label);
}
}
public:
virtual Boolean create(View* parent, const TCHAR* name, Args& args)
{
Boolean rc = Primitive::create(parent, name,
args.set(XmNpredefined, True)
.set(XmNstyle, WS_CHILD|WS_TABSTOP)
.set(XmNuseDefaultFont, _T("true"))
.set(XmNclassName, _T("SysLink")));
//WC_LINK;
ulong val;
if (args.get(XmNwidth, &val) == False ||
args.get(XmNheight, &val) == False) {
const TCHAR* label = name;
if (args.get(XmNlabelString, &val))
label = (TCHAR*)val;
resize(label);
}
return rc;
}
public:
Arg* getCallbackTable(int* num)
{
static Arg table[] = {
{XmNactivateCallback, NM_CLICK},
{XmNactivateCallback, NM_RETURN},
};
*num = XtNumber(table);
return table;
}
const TCHAR* defaultCallbackName() {
return XmNactivateCallback;
}
};
}
|