1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
/********************************************************************************
* *
* Chart Test *
* *
*********************************************************************************
* Copyright (C) 2003,2006 by Jeroen van der Zijp. All Rights Reserved. *
*********************************************************************************
* $Id: chart.cpp,v 1.7 2006/01/22 18:01:13 fox Exp $ *
********************************************************************************/
#include "fx.h"
#include "FXChart.h"
#include "icons.h"
/*
Notes:
*/
/*******************************************************************************/
// Mini application object
class ChartWindow : public FXMainWindow {
FXDECLARE(ChartWindow)
protected:
FXChart *chart;
FXMenuBar *menubar;
FXStatusBar *statusbar;
FXMenuPane *filemenu;
FXBMPImage *image;
protected:
ChartWindow(){}
private:
ChartWindow(const ChartWindow&);
ChartWindow &operator=(const ChartWindow&);
public:
long onCmdChart(FXObject*,FXSelector,void*);
public:
enum {
ID_CHART=FXMainWindow::ID_LAST
};
public:
ChartWindow(FXApp *a);
virtual void create();
virtual ~ChartWindow();
};
/*******************************************************************************/
// Map
FXDEFMAP(ChartWindow) ChartWindowMap[]={
FXMAPFUNC(SEL_COMMAND, ChartWindow::ID_CHART, ChartWindow::onCmdChart),
};
// Object implementation
FXIMPLEMENT(ChartWindow,FXMainWindow,ChartWindowMap,ARRAYNUMBER(ChartWindowMap))
// Make some windows
ChartWindow::ChartWindow(FXApp* a):FXMainWindow(a,"Chart Test",NULL,NULL,DECOR_ALL,20,20,700,460){
// Menubar
menubar=new FXMenuBar(this,FRAME_RAISED|LAYOUT_SIDE_TOP|LAYOUT_FILL_X);
statusbar=new FXStatusBar(this,LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|FRAME_RAISED|STATUSBAR_WITH_DRAGCORNER);
// File menu
filemenu=new FXMenuPane(this);
new FXMenuCommand(filemenu,"&Quit\tCtl-Q",NULL,getApp(),FXApp::ID_QUIT);
new FXMenuTitle(menubar,"&File",NULL,filemenu);
// Container
FXHorizontalFrame *container=new FXHorizontalFrame(this,LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_RAISED);
// Well for chart
FXHorizontalFrame *chartwell=new FXHorizontalFrame(container,LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN|FRAME_THICK,0,0,0,0, 0,0,0,0, 0,0);
// Chart
chart=new FXChart(chartwell,this,ID_CHART,LAYOUT_FILL_X|LAYOUT_FILL_Y);
// Pattern
image=new FXBMPImage(getApp(),marble);
FillStyle fs;
fs.style=FILLSTYLE_HORIZONTAL;
fs.hatch=STIPPLE_NONE;
fs.image=image;
fs.color=FXRGB(128,255,255);
fs.backcolor=FXRGB(128,128,255);
fs.lower=FXRGB(255,255,255);
fs.upper=FXRGB(0,0,255);
chart->setFillStyle(fs);
}
// Create image
void ChartWindow::create(){
FXMainWindow::create();
image->create();
}
// Command from chart
long ChartWindow::onCmdChart(FXObject*,FXSelector,void*){
return 1;
}
// Clean up
ChartWindow::~ChartWindow(){
delete filemenu;
delete image;
}
/*******************************************************************************/
// Start the whole thing
int main(int argc,char *argv[]){
// Make application
FXApp application("ChartWindow","FoxTest");
// Open display
application.init(argc,argv);
// Main window
ChartWindow* window=new ChartWindow(&application);
// Create app
application.create();
// Show it
window->show(PLACEMENT_SCREEN);
// Run
return application.run();
}
|