SOL9 2.0 Sample: GradientLabelGadget

SOL9 2.0 Samples

1 Screenshot


2 Source code

/*
 * GradientLabelGadget.cpp 
 * Copyright (c) 2009 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL++2000
// 2008/07/01


#include <sol\ApplicationView.h>

#include <sol\GradientLabelGadget.h>

namespace SOL {

class AppView :public ApplicationView {
private:
    GradientLabelGadget redLabel;
    GradientLabelGadget greenLabel;
    GradientLabelGadget blueLabel;
    GradientLabelGadget multiLines;

public:
    /**
     *
     */
    AppView(Application& applet, const TCHAR* label, Args& args)
    :ApplicationView(applet, label, args)
    {
        Args args1;
        Args args2;
        Args args3;
        Args args4;

        redLabel.create(this, _T("This is a red label gadget."), 
            args1.set(XmNgradientBaseColor, 
                GradientLabelGadget::GRADIENT_BASECOLOR_RED));

        greenLabel.create(this, _T("This is a green label gadget."), 
            args2.set(XmNgradientBaseColor, 
                GradientLabelGadget::GRADIENT_BASECOLOR_GREEN));

        blueLabel.create(this, _T("This is a blue label gadget."), 
            args3.set(XmNgradientBaseColor, 
                GradientLabelGadget::GRADIENT_BASECOLOR_BLUE));

        blueLabel.setHighLightTextColor();

        multiLines.create(this, _T("This is a red label gadget with multilines.\r\nYou can see a new line."),
            args4.set(XmNgradientBaseColor, 
                GradientLabelGadget::GRADIENT_BASECOLOR_RED));
    
        multiLines.setMargin(10);

        addEventHandler(WM_PAINT, this, 
            (Handler)&AppView::paint, null);
    }

private:
    long paint(Event& event)
    {
        PaintDC pdc(this);

        redLabel.draw(&pdc, 4, 4);

        greenLabel.draw(&pdc, 4, 4+40);

        blueLabel.draw(&pdc, 4, 4+40*2);

        multiLines.draw(&pdc, 4, 4+40*3);

        return 0L;
    }

};

}

// SOL9 Application main
void    Main(int argc, TCHAR** argv)
{
    const TCHAR* name = _T("GradientLabelGadget");
    try {
        Application applet(name, argc, argv);

        Args args;
        args.set(XmNclassStyle, 0);
        AppView appview(applet, name, args);
        appview.realize();
        applet.run();
    } catch (...) {

    }
}

Last modified: 11 Nov 2009

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