SOL9 2.0 Class: Header

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

Source code

/*
 * Header.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL++2000
// 2000.02.18
#pragma once

#include <sol\Primitive.h>


namespace SOL {

class Header :public Primitive {

public:
    Header(): Primitive() { }

public:
    Header(View* parent, HWND hwnd)
        :Primitive(parent, hwnd) { }

public:

    Header(View* parent, const char* name, Args& args)
        :Primitive(parent, name, 
                args.set(XmNpredefined, TRUE)
                    .set(XmNclassName, (ulong)WC_HEADER))
    {
        setValues(args);
    }

public:
    virtual Boolean create(View* parent, const char* name, Args& args)
    {
        Boolean rc = Primitive::create(parent, name, 
                args.set(XmNpredefined, TRUE)
                    .set(XmNclassName, (ulong)WC_HEADER));

        setValues(args);
        return rc;
    }

public:
    Arg* getCallbackTable(int* num)
    {
        static Arg table[] = {
        {XmNitemChangingCallback,  HDN_ITEMCHANGING},
        {XmNitemChangedCallback,   HDN_ITEMCHANGED}, 
        {XmNitemClickCallback,       HDN_ITEMCLICK},
        {XmNitemDoubleClickCallback,    HDN_ITEMDBLCLICK},    
        {XmNdividerDoubleClickCallback,    HDN_DIVIDERDBLCLICK},
        {XmNbeginTrackCallback,           HDN_BEGINTRACK},
        {XmNendTrackCallback,           HDN_ENDTRACK},
        {XmNtrackCallback,               HDN_TRACK},
        };
        *num = XtNumber(table);
        return table;    
    }

//      Header(View* parent, const char* name, Args& args);

//      virtual Boolean create(View* parent, const char* name, Args& args);

//    Arg*    getCallbackTable(int* num);

    int        getItemCount() {
            return (int)send(HDM_GETITEMCOUNT, 0, 0L);
    }

    int        insertItem(int i, HD_ITEM* phdi) {
            return (int)send(HDM_INSERTITEM, (WPARAM)i, (LPARAM)phdi);
    }
    BOOL    deleteItem(int i) {
               return (BOOL)send(HDM_DELETEITEM, (WPARAM)i, 0L);
    }
    BOOL    getItem(int i, HD_ITEM* phdi) {
            return (BOOL)send(HDM_GETITEM, (WPARAM)i, (LPARAM)phdi);
    }

    BOOL    setItem(int i, HD_ITEM* phdi) {
            return (BOOL)send(HDM_SETITEM, (WPARAM)i, (LPARAM)phdi);
    }
    BOOL    layout(HD_LAYOUT* layout) {
            return (BOOL)send(HDM_LAYOUT, 0, (LPARAM)layout);
    }
};

}


Last modified: 1 Feb 2012

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