Browse Source

Ajout de macros de conversion

- _C : wxString->char*
- _W : char* -> wxString
- _itoW : int->wxString

Ajout d'une colonne invisible dans la grille avec id.
master
Maxime Wack 11 years ago
parent
commit
0585faaeeb
5 changed files with 59 additions and 46 deletions
  1. +11
    -6
      CosMoS/bdd.cpp
  2. +27
    -4
      CosMoS/bdd.h
  3. +1
    -1
      CosMoS/cosmos.cpp
  4. +4
    -1
      CosMoS/cosmosGUI.cpp
  5. +16
    -34
      Sante_Pub.workspace.session

+ 11
- 6
CosMoS/bdd.cpp View File

@@ -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);
}

+ 27
- 4
CosMoS/bdd.h View File

@@ -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
*/


+ 1
- 1
CosMoS/cosmos.cpp View File

@@ -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;


+ 4
- 1
CosMoS/cosmosGUI.cpp View File

@@ -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);


+ 16
- 34
Sante_Pub.workspace.session View File

@@ -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>


Loading…
Cancel
Save