- _C : wxString->char* - _W : char* -> wxString - _itoW : int->wxString Ajout d'une colonne invisible dans la grille avec id.master
@@ -146,15 +146,19 @@ void class_bdd::updategrid() | |||
wxMessageBox(_T("La base de données est vide,\nveuillez importer des données !")); | |||
return; | |||
} | |||
else | |||
sqlite3_reset(stmt); //retour à la première ligne, celle-ci étant lue pour vérifier la non vacuité | |||
while (sqlite3_step(stmt) == SQLITE_ROW) | |||
{ | |||
gridptr->AppendRows(); | |||
gridptr->SetCellValue(nligne, 4, wxString::Format("%i",sqlite3_column_int(stmt, 1))); //n_dossier | |||
gridptr->SetCellValue(nligne, 4, _itoW(sqlite3_column_int(stmt, 1))); //n_dossier | |||
gridptr->SetReadOnly(nligne, 4); | |||
for (int i=2; i<10; i++) | |||
gridptr->SetCellValue(nligne, i+3, wxString::FromAscii(sqlite3_column_text(stmt, i))); //nom, prénom, responsable, consultant, theme, etablissement, travail, date | |||
gridptr->SetCellValue(nligne, i+3, _W(sqlite3_column_text(stmt, i))); //nom, prénom, responsable, consultant, theme, etablissement, travail, date | |||
gridptr->SetReadOnly(nligne, 12); | |||
gridptr->SetCellRenderer(nligne, 12, new wxGridCellDateTimeRenderer); | |||
gridptr->SetCellValue(nligne, 13, _itoW(sqlite3_column_int(stmt, 0))); //id, caché | |||
gridptr->SetReadOnly(nligne, 13); | |||
nligne++; | |||
} | |||
sqlite3_finalize(stmt); | |||
@@ -163,7 +167,7 @@ void class_bdd::updategrid() | |||
sqlite3_prepare_v2(db, "SELECT * FROM Result", -1, &stmt, NULL); //import depuis Result | |||
while (sqlite3_step(stmt) == SQLITE_ROW) | |||
{ | |||
gridptr->SetCellValue(nligne, 0, wxString::Format("%i",sqlite3_column_int(stmt, 4))); //nb_results | |||
gridptr->SetCellValue(nligne, 0, _itoW(sqlite3_column_int(stmt, 4))); //nb_results | |||
gridptr->SetReadOnly(nligne, 0); | |||
bool publie = false; | |||
for (int i=1; i<4; i++) | |||
@@ -172,7 +176,7 @@ void class_bdd::updategrid() | |||
bool_editor->UseStringValues("1", "0"); | |||
gridptr->SetCellEditor(nligne, i, bool_editor); | |||
gridptr->SetCellRenderer(nligne, i, new wxGridCellBoolRenderer); | |||
gridptr->SetCellValue(nligne, i, wxString::Format("%i", sqlite3_column_int(stmt, i))); //publi, publi_CHU, cs_associe | |||
gridptr->SetCellValue(nligne, i, _itoW(sqlite3_column_int(stmt, i))); //publi, publi_CHU, cs_associe | |||
if (sqlite3_column_int(stmt, i) == 1) | |||
publie = true; | |||
gridptr->SetCellAlignment(nligne, i, wxALIGN_CENTER, wxALIGN_CENTER); //aligner les checkbox au milieu | |||
@@ -186,10 +190,11 @@ void class_bdd::updategrid() | |||
gridptr->AutoSizeColumns(false); | |||
gridptr->AutoSizeRows(false); | |||
gridptr->HideCol(13); | |||
wxEndBusyCursor(); | |||
} | |||
void class_bdd::modresultbool(int id, int col, const wxString& val) | |||
void class_bdd::modresultbool(const wxString& id, int col, const wxString& val) | |||
{ | |||
rc = 0; | |||
wxString requete = "UPDATE Result SET "; | |||
@@ -201,6 +206,6 @@ void class_bdd::modresultbool(int id, int col, const wxString& val) | |||
} | |||
requete << val; | |||
requete << " WHERE id="; | |||
requete << wxString::Format("%i;", id); | |||
requete << id; | |||
rc = sqlite3_exec(db, requete, NULL, NULL, NULL); | |||
} |
@@ -11,11 +11,13 @@ | |||
#ifdef __WXGTK__ | |||
#define slash "/" | |||
#define _C(string) string.fn_str() | |||
#define _C(string) string.fn_str() // wxString -> char* | |||
#elif defined( __WXMSW__ ) | |||
#define slash "\\" | |||
#define _C(string) (const char*) string.c_str() | |||
#define _C(string) (const char*) string.c_str() // wxString -> char* | |||
#endif | |||
#define _itoW(integer) wxString::Format("%i",integer) // int -> wxString | |||
#define _W(string) wxString::FromAscii(string) // char* -> wxString | |||
class class_bdd | |||
{ | |||
@@ -32,8 +34,29 @@ class class_bdd | |||
void importer(const wxString& filename); | |||
void exporter(const wxString& filename); | |||
void updategrid(); | |||
void modresultbool(int id, int col, const wxString& val); | |||
void modresultbool(const wxString& id, int col, const wxString& val); | |||
}; | |||
#endif //__bdd__ | |||
#endif //__bdd__ | |||
/* CSV BDD GRID | |||
id 0 0 13 | |||
n_dossier 1 1 4 | |||
nom 3 2 5 | |||
prenom 4 3 6 | |||
service 6 11 / | |||
etablissement 7 7 10 | |||
travail 12 8 11 | |||
thème 13 6 9 | |||
publi prévue 18 10 / | |||
responsable 19 4 7 | |||
consultant 20 5 8 | |||
date 21 9 12 | |||
========================================== | |||
resultats 4 0 | |||
publi 1 1 | |||
publi_CHU 2 2 | |||
cs_associe 3 3 | |||
*/ | |||
@@ -74,7 +74,7 @@ void cosmos::OnCellChange( wxGridEvent& event ) | |||
if (col < 4) //checkboxes | |||
{ | |||
bdd->modresultbool(row+1, col, grid_Consults->GetCellValue(row, col)); | |||
bdd->modresultbool(grid_Consults->GetCellValue(row,13), col, grid_Consults->GetCellValue(row, col)); | |||
//Actualisation de la grille | |||
bool publie = false; | |||
@@ -78,7 +78,7 @@ cosmosGUI::cosmosGUI( wxWindow* parent, wxWindowID id, const wxString& title, co | |||
grid_Consults = new wxGrid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); | |||
// Grid | |||
grid_Consults->CreateGrid( 0, 13); | |||
grid_Consults->CreateGrid( 0, 14); | |||
grid_Consults->EnableEditing( true ); | |||
grid_Consults->EnableGridLines( true ); | |||
grid_Consults->EnableDragGridSize( true ); | |||
@@ -98,6 +98,7 @@ cosmosGUI::cosmosGUI( wxWindow* parent, wxWindowID id, const wxString& title, co | |||
grid_Consults->SetColSize( 10, 90 ); | |||
grid_Consults->SetColSize( 11, 49 ); | |||
grid_Consults->SetColSize( 12, 110 ); | |||
grid_Consults->SetColSize( 13, 110 ); | |||
grid_Consults->EnableDragColMove( false ); | |||
grid_Consults->EnableDragColSize( true ); | |||
grid_Consults->SetColLabelSize( 30 ); | |||
@@ -114,6 +115,8 @@ cosmosGUI::cosmosGUI( wxWindow* parent, wxWindowID id, const wxString& title, co | |||
grid_Consults->SetColLabelValue( 10, wxT("Etablissement") ); | |||
grid_Consults->SetColLabelValue( 11, wxT("Travail") ); | |||
grid_Consults->SetColLabelValue( 12, wxT("Date consultation") ); | |||
grid_Consults->SetColLabelValue( 13, wxT("Numéro de travail") ); | |||
grid_Consults->HideCol(13); | |||
grid_Consults->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE ); | |||
grid_Consults->SetDefaultEditor(new wxGridCellAutoWrapStringEditor); | |||
grid_Consults->SetDefaultRenderer(new wxGridCellStringRenderer); | |||
@@ -1,66 +1,48 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<Session Name="G:\Commun\Etudiants\Maxime W\Projets\Sante_Pub.workspace"> | |||
<int Value="9" Name="m_selectedTab"/> | |||
<int Value="1" Name="m_selectedTab"/> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\Sante_Pub.workspace" Name="m_workspaceName"/> | |||
<TabInfoArray Name="TabInfoArray"> | |||
<TabInfo> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\main.cpp" Name="FileName"/> | |||
<int Value="0" Name="FirstVisibleLine"/> | |||
<int Value="16" Name="CurrentLine"/> | |||
<wxArrayString Name="Bookmarks"/> | |||
</TabInfo> | |||
<TabInfo> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\cosmosGUI.h" Name="FileName"/> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\cosmos.h" Name="FileName"/> | |||
<int Value="0" Name="FirstVisibleLine"/> | |||
<int Value="23" Name="CurrentLine"/> | |||
<int Value="17" Name="CurrentLine"/> | |||
<wxArrayString Name="Bookmarks"/> | |||
</TabInfo> | |||
<TabInfo> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\cosmosGUI.cpp" Name="FileName"/> | |||
<int Value="102" Name="FirstVisibleLine"/> | |||
<int Value="126" Name="CurrentLine"/> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\cosmos.cpp" Name="FileName"/> | |||
<int Value="48" Name="FirstVisibleLine"/> | |||
<int Value="90" Name="CurrentLine"/> | |||
<wxArrayString Name="Bookmarks"/> | |||
</TabInfo> | |||
<TabInfo> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\cosmos.h" Name="FileName"/> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\config.h" Name="FileName"/> | |||
<int Value="0" Name="FirstVisibleLine"/> | |||
<int Value="30" Name="CurrentLine"/> | |||
<wxArrayString Name="Bookmarks"/> | |||
</TabInfo> | |||
<TabInfo> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\cosmos.cpp" Name="FileName"/> | |||
<int Value="31" Name="FirstVisibleLine"/> | |||
<int Value="70" Name="CurrentLine"/> | |||
<int Value="17" Name="CurrentLine"/> | |||
<wxArrayString Name="Bookmarks"/> | |||
</TabInfo> | |||
<TabInfo> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\config.cpp" Name="FileName"/> | |||
<int Value="0" Name="FirstVisibleLine"/> | |||
<int Value="27" Name="FirstVisibleLine"/> | |||
<int Value="1" Name="CurrentLine"/> | |||
<wxArrayString Name="Bookmarks"/> | |||
</TabInfo> | |||
<TabInfo> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\options.h" Name="FileName"/> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\bdd.h" Name="FileName"/> | |||
<int Value="0" Name="FirstVisibleLine"/> | |||
<int Value="27" Name="CurrentLine"/> | |||
<int Value="34" Name="CurrentLine"/> | |||
<wxArrayString Name="Bookmarks"/> | |||
</TabInfo> | |||
<TabInfo> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\options.cpp" Name="FileName"/> | |||
<int Value="0" Name="FirstVisibleLine"/> | |||
<int Value="6" Name="CurrentLine"/> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\bdd.cpp" Name="FileName"/> | |||
<int Value="160" Name="FirstVisibleLine"/> | |||
<int Value="181" Name="CurrentLine"/> | |||
<wxArrayString Name="Bookmarks"/> | |||
</TabInfo> | |||
<TabInfo> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\bdd.h" Name="FileName"/> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\optionsGUI.cpp" Name="FileName"/> | |||
<int Value="0" Name="FirstVisibleLine"/> | |||
<int Value="16" Name="CurrentLine"/> | |||
<wxArrayString Name="Bookmarks"/> | |||
</TabInfo> | |||
<TabInfo> | |||
<wxString Value="G:\Commun\Etudiants\Maxime W\Projets\CosMoS\bdd.cpp" Name="FileName"/> | |||
<int Value="128" Name="FirstVisibleLine"/> | |||
<int Value="138" Name="CurrentLine"/> | |||
<int Value="7" Name="CurrentLine"/> | |||
<wxArrayString Name="Bookmarks"/> | |||
</TabInfo> | |||
</TabInfoArray> | |||