/*
* 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 (...) {
}
}
|