SOL9 2.0 Class: SysLink

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * 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; 
    }

    

};

}



Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.