📄 system.c
字号:
}void fontClickOK(GtkWidget *widget,gpointer data){ changeAllFont(); Repaint(); writeCfg(); gtk_widget_destroy(widget); }void createDatabaseSetPage(GtkWidget *frame){ GtkWidget *tmptable; GtkWidget *tframe; GtkWidget *i_box2,*i_but; char tmp[20]; tmptable = createTable(frame,6,2,TRUE); tframe=createFrameFromTable(tmptable,NULL, 0,1,0,1,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,"服务器名称:"); tframe=createFrameFromTable(tmptable,NULL, 1,2,0,1,0,0,GTK_SHADOW_ETCHED_IN); tmphost=createEntry(tframe,sqlhost); tframe=createFrameFromTable(tmptable,NULL, 0,1,1,2,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,"用户名:"); tframe=createFrameFromTable(tmptable,NULL, 1,2,1,2,0,0,GTK_SHADOW_ETCHED_IN); tmpuser=createEntry(tframe,sqluser); tframe=createFrameFromTable(tmptable,NULL, 0,1,2,3,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,"密码:"); tframe=createFrameFromTable(tmptable,NULL, 1,2,2,3,0,0,GTK_SHADOW_ETCHED_IN); tmppassword=createEntry(tframe,sqlpassword); sprintf(tmp,"%d",sqlport); tframe=createFrameFromTable(tmptable,NULL, 0,1,3,4,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,"PORT:"); tframe=createFrameFromTable(tmptable,NULL, 1,2,3,4,0,0,GTK_SHADOW_ETCHED_IN); tmpport=createEntry(tframe,tmp); tframe=createFrameFromTable(tmptable,NULL, 0,1,4,5,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,"UNIX_SOCKET:"); tframe=createFrameFromTable(tmptable,NULL, 1,2,4,5,0,0,GTK_SHADOW_ETCHED_IN); tmpsocket=createEntry(tframe,sqlsocket); i_box2 = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(i_box2), SPREAD); gtk_button_box_set_spacing(GTK_BUTTON_BOX(i_box2), 10); gtk_table_attach(GTK_TABLE(tmptable),i_box2, 0,2,5,6, GTK_EXPAND |GTK_SHRINK, GTK_EXPAND |GTK_SHRINK, 0,0); gtk_widget_show(i_box2); i_but = gtk_button_new_with_label("连 接"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(connectDatabaseClickOK),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); i_but = gtk_button_new_with_label("保 存"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(saveDatabaseSetClickOK),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); i_but = gtk_button_new_with_label("取 消"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(endProgram),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but);}void connectDatabaseClickOK(GtkWidget * widget,gpointer data){ char dbhost[50]; char dbuser[20]; char dbpassword[20]; unsigned int dbport; char dbsocket[100]; char tmp[256]; strcpy(dbhost,gtk_entry_get_text(GTK_ENTRY(tmphost))); strcpy(dbuser,gtk_entry_get_text(GTK_ENTRY(tmpuser))); strcpy(dbpassword,gtk_entry_get_text(GTK_ENTRY(tmppassword))); strcpy(tmp,gtk_entry_get_text(GTK_ENTRY(tmpport))); dbport=atoi(tmp); strcpy(dbsocket,gtk_entry_get_text(GTK_ENTRY(tmpsocket))); if(!stocksql->connectStockSql(dbhost,dbuser,dbpassword, NULL,dbport,dbsocket,0)){ sprintf(tmp,"Failed to connect to database: Error: %s\n",stocksql->stockSqlError()); showMessage("提示",tmp); return; } else{ sprintf(tmp,"connect to sql database SUCCESS!\n"); showMessage("提示",tmp); return; } }void saveDatabaseSetClickOK(GtkWidget * widget,gpointer data){ char tmp[256]; strcpy(sqlhost,gtk_entry_get_text(GTK_ENTRY(tmphost))); strcpy(sqluser,gtk_entry_get_text(GTK_ENTRY(tmpuser))); strcpy(sqlpassword,gtk_entry_get_text(GTK_ENTRY(tmppassword))); strcpy(tmp,gtk_entry_get_text(GTK_ENTRY(tmpport))); sqlport=atoi(tmp); strcpy(sqlsocket,gtk_entry_get_text(GTK_ENTRY(tmpsocket))); writeCfg(); showMessage("提示","保存完毕!");}void createDatabaseInstallPage(GtkWidget *frame){ GtkWidget *tmptable; GtkWidget *tframe; GtkWidget *i_box2,*i_but; tmptable = createTable(frame,6,3,TRUE); tframe=createFrameFromTable(tmptable,NULL, 0,1,0,1,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,"股票主数据库"); tframe=createFrameFromTable(tmptable,NULL, 1,2,0,1,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,STOCKDATABASE); tframe=createFrameFromTable(tmptable,NULL, 2,3,0,1,0,0,GTK_SHADOW_ETCHED_IN); tmpzt1=createLabel(tframe," "); tframe=createFrameFromTable(tmptable,NULL, 0,1,1,2,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,"日K线数据库"); tframe=createFrameFromTable(tmptable,NULL, 1,2,1,2,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,DAYKLINEDATABASE); tframe=createFrameFromTable(tmptable,NULL, 2,3,1,2,0,0,GTK_SHADOW_ETCHED_IN); tmpzt2=createLabel(tframe," "); tframe=createFrameFromTable(tmptable,NULL, 0,1,2,3,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,"分钟K线数据库"); tframe=createFrameFromTable(tmptable,NULL, 1,2,2,3,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,MINKLINEDATABASE); tframe=createFrameFromTable(tmptable,NULL, 2,3,2,3,0,0,GTK_SHADOW_ETCHED_IN); tmpzt3=createLabel(tframe," "); tframe=createFrameFromTable(tmptable,NULL, 0,1,3,4,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,"分时线数据库"); tframe=createFrameFromTable(tmptable,NULL, 1,2,3,4,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,STOCKFSDATABASE); tframe=createFrameFromTable(tmptable,NULL, 2,3,3,4,0,0,GTK_SHADOW_ETCHED_IN); tmpzt4=createLabel(tframe," "); tframe=createFrameFromTable(tmptable,NULL, 0,1,4,5,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,"分笔成交数据库"); tframe=createFrameFromTable(tmptable,NULL, 1,2,4,5,0,0,GTK_SHADOW_ETCHED_IN); createLabel(tframe,STOCKTRACEDATABASE); tframe=createFrameFromTable(tmptable,NULL, 2,3,4,5,0,0,GTK_SHADOW_ETCHED_IN); tmpzt5=createLabel(tframe," "); checkDatabaseStatus(); i_box2 = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(i_box2), SPREAD); gtk_button_box_set_spacing(GTK_BUTTON_BOX(i_box2), 10); gtk_table_attach(GTK_TABLE(tmptable),i_box2, 0,3,5,6, GTK_EXPAND |GTK_SHRINK, GTK_EXPAND |GTK_SHRINK, 0,0); gtk_widget_show(i_box2); i_but = gtk_button_new_with_label("建 立"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(databaseInstallClickOK),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); i_but = gtk_button_new_with_label("取 消"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(endProgram),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but);}void checkDatabaseStatus(void){ if(stocksql->isExistStockDatabase()) gtk_label_set_text(GTK_LABEL(tmpzt1),"已建立"); else gtk_label_set_text(GTK_LABEL(tmpzt1),"未建立"); if(stocksql->isExistDayKlineDatabase()) gtk_label_set_text(GTK_LABEL(tmpzt2),"已建立"); else gtk_label_set_text(GTK_LABEL(tmpzt2),"未建立"); if(stocksql->isExistMinKlineDatabase()) gtk_label_set_text(GTK_LABEL(tmpzt3),"已建立"); else gtk_label_set_text(GTK_LABEL(tmpzt3),"未建立"); if(stocksql->isExistFsDatabase()) gtk_label_set_text(GTK_LABEL(tmpzt4),"已建立"); else gtk_label_set_text(GTK_LABEL(tmpzt4),"未建立"); if(stocksql->isExistTraceDatabase()) gtk_label_set_text(GTK_LABEL(tmpzt5),"已建立"); else gtk_label_set_text(GTK_LABEL(tmpzt5),"未建立");}void databaseInstallClickOK(GtkWidget * widget,gpointer data){ int flag=SUCCESS; if(!stocksql->isExistStockDatabase()) flag=stocksql->createStockDatabase(); if(!stocksql->isExistDayKlineDatabase()) flag=flag&stocksql->createDayKlineDatabase(); if(!stocksql->isExistMinKlineDatabase()) flag=flag&stocksql->createMinKlineDatabase(); if(!stocksql->isExistFsDatabase()) flag=flag&stocksql->createFsDatabase(); if(!stocksql->isExistTraceDatabase()) flag=flag&stocksql->createTraceDatabase(); if(!stocksql->isExistInitTable()) flag=flag&stocksql->createInitTable(); if(flag) showMessage("提示","建立完成!"); else showMessage("提示","建立失败!"); checkDatabaseStatus(); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -