📄 gmclient.h
字号:
#ifndef __GMCLIENT_H__#define __GMCLIENT_H__#include <gtk/gtk.h>#include <gdk_imlib.h>#include <mysql/mysql.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#define VERSION "伯乐 v0.0.7"#define DEBUG 1#define SHBZ 0#define SZBZ 1#define VERTICAL GTK_ORIENTATION_VERTICAL#define HORIZONTAL GTK_ORIENTATION_HORIZONTAL#define LEFT GTK_POS_LEFT#define RIGHT GTK_POS_RIGHT#define TOP GTK_POS_TOP#define BOTTOM GTK_POS_BOTTOM#define DEFAULT_STYLE GTK_BUTTONBOX_DEFAULT_STYLE#define SPREAD GTK_BUTTONBOX_SPREAD#define EDGE GTK_BUTTONBOX_EDGE#define START GTK_BUTTONBOX_START#define END GTK_BUTTONBOX_END#define CHARADD 1 #define CHARWIDTH 20#define CHARHEIGHT 20#define SUCCESS 1#define FAIL 0#define SHCODELEN 6#define SZCODELEN 4#define MAXCFGFILELINENUM 256#define MAXCFGNAMELEN 256#define MAXCFGLINELEN 4096#define CFGFILE "stock.conf"#define SHTBLPATH "./data/sh/"#define SZTBLPATH "./data/sz/"#define SHDAYPATH "./data/sh/day/"#define SZDAYPATH "./data/sz/day/"#define SHBASEPATH "./data/sh/base/"#define SZBASEPATH "./data/sz/base/"/*定义图形显示区域*/#define KLINEAREA 1#define COLUMEAREA 2#define JSZBAREA 3#define MAXFSLINENUM 240#define MAXTRACENUM 10#define MAXGPMXLISTNUM 23#define JSFLAG 0#define FSFLAG 1#define ZSFSFLAG 2#define ZSFLAG 3#define GPMXLISTFLAG 4extern GtkWidget * popmenu;/* define gtkwidget draw area */extern GtkWidget *drawing_area;/*define stockcode entry*/extern GtkWidget *stockentry;//股票初始化系统表typedef struct{ int initday; int nametblbz; int initflag;}STOCKINIT;extern STOCKINIT stockinit; /*define stock data store struct*/typedef struct{ int jydate; //交易日期 int kpj; //开盘价 int zgj; //最高价 int zdj; //最低价 int spj; //收盘价 long cjje; //成交金额 long cjsl; //成交数量}STOCK; extern STOCK *stock;/*股票代码表结构*/typedef struct{ char type; //股票类型 char code[7]; //股票代码 char name[9]; //股票名称 float zsp;}STOCKNAMETBL;extern STOCKNAMETBL *shtbl;extern STOCKNAMETBL *sztbl;/*股票买卖盘明细结构*/typedef struct{ char code[6]; float cjj; //成交价 float jj; //均价 float zd; //涨跌 float zdf; //涨跌幅 float zsp; //昨日收盘价 float kpj; //开盘价 float zgj; //最高价 float zdj; //最低价 float zss; //总手数 float xss; //现手数 float lb; //量比 float wb; //委比 float cjje; //成交金额 float zf; //震幅 float wp; //外盘 float np; //内盘 float mrj1; float mrj2; float mrj3; float mrl1; float mrl2; float mrl3; float mcj1; float mcj2; float mcj3; float mcl1; float mcl2; float mcl3;}STOCKGPMX;extern STOCKGPMX gpmx;/*股票排行榜列表结构*/typedef struct{ char code[6]; char name[8]; //股票名称 float cjj; //成交价 float jj; //均价 float zd; //涨跌 float zdf; //涨跌幅 float zsp; //昨日收盘价 float kpj; //开盘价 float zgj; //最高价 float zdj; //最低价 float zss; //总手数 float xss; //现手数 float lb; //量比 float wb; //委比 float cjje; //成交金额 float zf; //震幅 float wp; //外盘 float np; //内盘 float mrj; float mcj;}STOCKGPMXLIST;extern STOCKGPMXLIST *gpmxlist;extern int frechgpmxlistflag;extern int gpmxlistsum;typedef struct{ int time; //交易时间 int price; //成交价格 int avgprice; //成交均价 int colume; //成交量}STOCKFS;extern STOCKFS fs[MAXFSLINENUM]; typedef struct{ int no; //成交编号 int time; //交易时间 float price; //成交价格 float colume; //成交数量 float mrj; //买入价 float mcj; //卖出价 float zdf; //涨跌幅 char bz; //买卖方向 ,用于内外盘}STOCKTRACE;extern STOCKTRACE trace[MAXTRACENUM];/*股票买卖分笔明细数目*/extern int tracesum;/*股票颜色结构typedef struct{ long red; long green; long blue;}STOCKCOLOR;*/typedef struct{ gchar fontlabel[20]; gchar fontname[20]; gchar *font;}FONTARRAY;typedef struct{ gchar colorlabel[20]; gchar colorname[20]; GdkColor *color;}COLORARRAY;/*数据库参数配置*/extern char sqlhost[50];extern char sqluser[20];extern char sqlpassword[20];extern unsigned int sqlport;extern char sqlsocket[100];/*颜色参数配置*/extern GdkColor background;extern GdkColor layoutline;extern GdkColor font;extern GdkColor klineup;extern GdkColor klinedown;extern GdkColor aline;extern GdkColor kavgline1;extern GdkColor kavgline2;extern GdkColor kavgline3;extern GdkColor kavgline4;extern GdkColor kavgline5;extern GdkColor jszb1;extern GdkColor jszb2;extern GdkColor jszb3;extern GdkColor jszb4;extern GdkColor jszb5;extern GdkColor up;extern GdkColor down;extern GdkColor equal;extern GdkColor fsline;extern GdkColor fsavgline;extern GdkColor fscolume;/*字体参数配置*/extern gchar eg[MAXCFGLINELEN];extern gchar si[MAXCFGLINELEN];extern gchar sr[MAXCFGLINELEN];extern COLORARRAY ca[];extern FONTARRAY fa[];typedef struct { char *menuname; char *accelerator; void (*callback)(GtkWidget *widget,gpointer data); gpointer data; GtkWidget *widget;} SUBMENU;/*配置文件读出标志 0--未读出 1--读出*/extern int cfgfileflag;/*上海.深圳股票总数*/extern int shstocksum;extern int szstocksum;/*股票代码表取出标志 0--未取出 1--取出*/extern int frechtblflag;/*frech stock array flag是否取出K线结构 0--no 1-yes*/extern int frechflag;/* the sum for frech stock k line从文件中取出K线总数*/extern int stocksum;/*取出的分时线数量*/extern int fssum;/*分时数据取出标志 0--未取出 1-取出*/extern int frechfsflag;/* 区间内股票最高价*/extern int areazgj;/* 区间内股票最低价*/extern int areazdj;/* 区间内成交量最大值*/extern long areacjl;/*股票日线文件路径*/extern char stockpath[50];/*股票代码和名称*/extern char stockcode[10];extern char stockname[20];/* define gdkdrawable and gdkgc for draw area*/typedef struct{ GdkDrawable *pixmap; GdkGC *gc;}typgraphics; /*k线结构起始位址*/extern int areastart;/*k线的宽度*/extern int klinewidth;/*鼠标线移动位址*/extern int mouselinex;extern int mouseliney;/*鼠标线显示标志 0--no 1--yes*/extern int mouselineflag;/*十字鼠标线能否显示标志 0--no 1--yes*/extern int cursormouseflag; /*区域统计打开标志 0--no 1--yes*/extern gint areatotalflag;/*区域统计开始标志 0--no 1--yes*/extern gint areatotalstartflag;/*区域统计开始位址*/extern gint areatotalstartadr;/*区域统计结束位址*/extern gint areatotalendadr;/*价格均线显示标志 0--no 1--yes*/extern int drawavglineflag;/*成交量均线显示标志 0--no 1--yes*/extern int drawavgcolumeflag;/*走势线类型 1--K线 2--美国线*/extern int linetype;/*画图区间K线数量*/extern int areaklinenum;/*k线和成交量画图区域的宽度和高度*/extern int klineareawidth;extern int klineareaheight;/*k线和成交量画图区域的起始座标x,y*/extern int klineareax;extern int klineareay;/*行情显示明细窗口打开标志 1--打开 0--关闭*/extern gint hqwinflag;extern int candrawflag;/*分时区域显示标志 0--显示指标区域 1--显示分时区域*/extern int fsflag;/*分时指标显示标志 0--不显示 1--显示*/extern int fszbflag;/*分时数据最高价,最低价,最大成交量*/extern int fspricezgj;extern int fspricezdj;extern int fsmaxcolume;/*key.c*/void AddKey (GdkEventKey *event);void RemoveKey (GdkEventKey *event);
void HandleKeysPressed ();void whatKey(GdkEventKey *event);gint motion_notify (GtkWidget *widget, GdkEventMotion *event);
gint button_notify (GtkWidget *widget, GdkEventButton *event);gint releasebutton_notify (GtkWidget *widget, GdkEventButton *event);gchar * ltrimStr(char *str);gchar * rtrimStr(char *str);gchar * allTrimStr(char *str);/*showhqwin.c*/void openHqWin();void closeHqWin();void showHqWin();/*areatotal.c*/void closeAreaTotalWin();void showAreaTotalWin(gint start,gint end);void openAreaTotalWin();/*stkfile*/void stock_init();int frechStock(char *filename);int frechStockNameTbl(void);gint frechShStockTbl(gchar *name);gint frechSzStockTbl(gchar *name);int saveStockNameTbl(void);int codeToName(int bz,char *code);char juiceStockType(char bz,char *code);void stock_quit();void showF10Info();void showPrice();gchar *findNextStock(gint bz);gchar *findPreStock(gint bz);int copyFile(char *scrfile,char *destfile);int installKlineData(char *scrfile,char *destcode);int frechFsData(char *code);/*jszb.c*/int jszbInit();int getAverageLine(int addr,int num);long getAverageColume(int addr,int num);int getAreazgj(int,int);int getAreazdj(int,int);long getAreacjl(int areastart,int areaend);long getAreacjlTotal(int areastart,int areaend);long getAreacjjeTotal(int areastart,int areaend);int getMaxFsColume();int getFsPriceZgj();int getFsPriceZdj();/*draw*/gint expose_event (GtkWidget *widget, GdkEventExpose *event);gint configure_event (GtkWidget *widget, GdkEventConfigure *event);
gint Repaint();
void drawJsRecord(int num);void drawInit();void drawXcur(int x,int y);void drawarea_init();void drawTotalRectangle(int start,int end);void changeAllPenColor(void);void changeAllFont(void);gint drawTime(GtkWidget *widget);/*menu*/void createMenu(GtkWidget *);void toolBar(GtkWidget *);GtkWidget *createWidgetFromGtk(GtkWidget *,char **);GtkWidget *createWidgetFromXpm (GtkWidget *window, gchar **xpm_data);/*sys*/gint quitSys(GtkWidget *widget,gpointer gdata);//void printit();//void loginHost();//void loginOk();//void loginCancel();/*misc*/void NO_FUNC();GtkWidget *createWindow(char *title, gint size_x, gint size_y, gint position_x, gint position_y, gint border, GtkSignalFunc window_destroy);GtkWidget *createDialogWindow(char *title, gint size_x, gint size_y,gint position_x, gint position_y, gint border, GtkSignalFunc window_destroy);GtkWidget *createPaned(GtkWidget *parent, gint placement, gint handle,gint gutter);GtkWidget *createBox(GtkWidget *parent, gint placement, gint border);GtkWidget *createBoxFixed(GtkWidget *parent, gint placement, gint border);GtkWidget *createTable(GtkWidget *parent,gint row,gint col, gint homogeneous);void createDialogBox(gchar *title, gchar *context,gint x,gint y, GtkSignalFunc callback);void showMessage(char *,char *);void UpdateProgress (long pos, long len);void StartProgress (gchar *);void EndProgress ();GtkWidget *createClist(GtkWidget *parent, gint cols, GtkSignalFunc item_selected);void setupClist(GtkWidget *list, gint col, gchar *title, gint width);gchar *getClist();gchar *getClistText(GtkWidget *list, gint c, gint r);gint getClistRow();gint setClistText(GtkWidget *list, gint c, gint r,gchar *text);void insertClist(GtkWidget *list, gchar *text[]);void insertClistRow(GtkWidget *list, gchar *text[]);void removeClist(GtkWidget *list);GtkWidget *createFrame(GtkWidget *parent, gchar *text, gfloat xalign,gfloat yalign,GtkShadowType type);GtkWidget *createFrameFromTable(GtkWidget *parent, gchar *text,gint left,gint right,gint top,gint bottom, gfloat xalign,gfloat yalign,GtkShadowType type);GtkWidget *createLabel(GtkWidget *parent, gchar *text);GtkWidget *createEntry(GtkWidget *parent, gchar *initial_text);GtkWidget *createEntryWithMaxLength(GtkWidget *parent, gchar *initial_text,gint num);GtkWidget *createComboBox(GtkWidget *parent,GList *items);char * getComboBoxText(GtkWidget *combobox);char *getFilename ();char *createFilenameDialog (char *sTitle);
GtkWidget *createText(GtkWidget *parent, gint editable);void insertFileInText(GtkWidget *textarea, FILE *fileid);void endProgram(GtkWidget *widget,gpointer data);GtkWidget *createMenuBar(GtkWidget *parent);GtkWidget *insertMenuBar(GtkWidget *menubar, gchar *name, gint justify);GtkWidget *insertMenuItem(GtkWidget *menu, gchar *name,gchar *saccel,GtkSignalFunc item_clicked);GtkWidget *insertChkMenuItem(GtkWidget *menu, gchar *name,GtkSignalFunc item_clicked,gint flag);GtkWidget *insertItemSubMenu(GtkWidget *menu, gchar *name);void insertSubMenu(GtkWidget *menu,SUBMENU *submenu,int num);GtkWidget *insertRadioMenuItem(GtkWidget *menu, gchar *items[], gint num,GtkSignalFunc item_clicked);GtkWidget *insertMenuLine(GtkWidget *menu);GtkWidget *createToolbar(GtkWidget *parent, int orientation);void insertToolbar(GtkWidget *toolbar, gchar *name, gchar *description, GtkWidget *icon, GtkSignalFunc button_clicked);GtkWidget *createNotebook(GtkWidget *parent, gint placement);GtkWidget *addNotebookNewPage(GtkWidget *notebook, gchar *title, gchar *description);GtkWidget * createList(GtkWidget *parent,gchar *str[],gint num,GtkSignalFunc callback);GSList *createRadioButtons(GtkWidget *parent, gchar *items[], gint num);gint getRadioButtons();void setDefaultRadioButtons(gint choice);GtkWidget *createCheckButton(GtkWidget *parent, gchar *text, gint default_state, GtkSignalFunc button_checked);gint getCheckButton(GtkWidget *checkbutton);void getDialogColor (GdkColor *color);GtkStyle *newStyle (GdkColor c,GdkFont *f);void setStyleRecursively (GtkWidget *widget, gpointer data);GtkWidget *createStyleButton (GtkWidget *vbox, char *label,GdkColor c,GdkFont *f);gchar *GetFont ();/*checkhis.c*/void curStockCheck();void allStockCheck();/*checknow.c*/void recentlyIncrease();void recentlyDecrease();void recentlyHengpan();void recentlyFangliang();/*choicestock.c*/void choiceOne();/*tblman.c*/void stockTblWh();/*dataman.c*/void dataManager();/*system.c*/void setSystem();/*cfgfile.c*/int readCfg(void);void releaseCfgRecord(void);int writeCfg(void);/*calculator.c*/int calculatorWindow();/*database*/void checkDrawAvgLine();void checkDrawAvgColume();void selectLineType(GtkWidget *widget,gint type);void checkCursorMouse();void checkAreaTotal();void showStockZS(GtkWidget *widget,gpointer data);void choiceJszb(GtkWidget *widget,gpointer data);void selectJszb(GtkWidget *widget,gint data);void setJszb(GtkWidget *widget,gpointer data);void connectServer();void disconnectServer();void dropDatabase();void renameDatabase();void copyDatabase();void importDatabase();void dumpDatabase();void insertField();void deleteField();void changeField();void searchRecord();void insertRecord();void deleteRecord();void cutRecord();void copyRecord();void pasteRecord();void setPath();void insertUser();void deleteUser();void pwdUser();void rightUser();void sysItem();void indexHelp();void topicHelp();void mywww();void about();#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -