Browse Source

Ajout de la validation/élimination d'une publi

TODO : cocher automatiquement publi dans la grille principale.
master
Maxime Wack 11 years ago
parent
commit
4752009850
5 changed files with 51 additions and 3 deletions
  1. +9
    -0
      CosMoS/bdd.cpp
  2. +1
    -0
      CosMoS/bdd.h
  3. +37
    -1
      CosMoS/resultats.cpp
  4. +1
    -0
      CosMoS/resultats.h
  5. +3
    -2
      Sante_Pub.workspace

+ 9
- 0
CosMoS/bdd.cpp View File

@@ -348,6 +348,15 @@ wxArrayString class_bdd::getidresult(const wxString& id, bool stripped)
return out;
}

void class_bdd::setidresult(const wxString& id, wxArrayString idresult)
{
wxString list = "";
for (unsigned int i=0; i<idresult.GetCount(); i++)
list += idresult[i] + ",";
list = list.BeforeLast(',');
sqlite3_exec(db, "UPDATE Result SET id_result=\"" + list + "\" WHERE id=" + id + ";", NULL, NULL, NULL);
}

void class_bdd::addidresult(const wxString& id, const wxString& idresult)
{
sqlite3_prepare_v2(db, "SELECT id_result FROM Result WHERE id=" + id + ";", -1, &stmt, NULL);


+ 1
- 0
CosMoS/bdd.h View File

@@ -38,6 +38,7 @@ class class_bdd
int nbresult(const wxString& id);
void modnbresult(const wxString& id, int nbresults);
wxArrayString getidresult(const wxString& id, bool stripped=false);
void setidresult(const wxString& id, wxArrayString idresult);
void addidresult(const wxString& id, const wxString& idresult);
bool publiexists(const wxString& id);


+ 37
- 1
CosMoS/resultats.cpp View File

@@ -6,6 +6,7 @@ dialog_resultats( parent )
{
this->bdd = bdd;
this->grid = grid;
changed = false;
}

void resultats::OnCellClick( wxGridEvent& event )
@@ -17,23 +18,44 @@ void resultats::OnCellClick( wxGridEvent& event )

void resultats::OnCheckPubli( wxCommandEvent& event )
{
// TODO: Implement OnCheckPubli
list_publi[currentpubli] = list_publi[currentpubli].AfterLast('!').AfterLast('@');
switch (checkbox_publi->Get3StateValue())
{
case wxCHK_CHECKED: list_publi[currentpubli] = "@" + list_publi[currentpubli];
grid_publis->SetCellBackgroundColour(currentpubli, 0, *wxGREEN);
break;
case wxCHK_UNDETERMINED: list_publi[currentpubli] = "!" + list_publi[currentpubli];
grid_publis->SetCellBackgroundColour(currentpubli, 0, *wxLIGHT_GREY);
break;
default: grid_publis->SetCellBackgroundColour(currentpubli, 0, grid_publis->GetDefaultCellBackgroundColour());
break;
}
changed = true;
}

void resultats::OnPrev( wxCommandEvent& event )
{
if (changed)
bdd->setidresult(grid->GetCellValue(currentrow, 13), list_publi);
changed = false;
currentrow--;
update();
}

void resultats::OnNext( wxCommandEvent& event )
{
if (changed)
bdd->setidresult(grid->GetCellValue(currentrow, 13), list_publi);
changed = false;
currentrow++;
update();
}

void resultats::OnOk( wxCommandEvent& event )
{
if (changed)
bdd->setidresult(grid->GetCellValue(currentrow, 13), list_publi);
changed = false;
Close();
}

@@ -71,6 +93,18 @@ void resultats::update()
grid_publis->SelectRow(currentpubli);
update_detail();
}
else
{
textctrl_titre->SetValue("");
textctrl_auteurs->SetValue("");
textctrl_abstract->SetValue("");
textctrl_revue->SetValue("");
statictext_date->SetLabel("Date de publication : ");
hyperlink_lien->SetURL("");
hyperlink_lien->Disable();
checkbox_publi->Set3StateValue(wxCHK_UNCHECKED);
checkbox_publi->Disable();
}
if (currentrow == 0)
bouton_prec->Disable();
else
@@ -90,7 +124,9 @@ void resultats::update_detail()
textctrl_abstract->SetValue(detail_publi[2]);
textctrl_revue->SetValue(detail_publi[3]);
statictext_date->SetLabel("Date de publication : " + detail_publi[5]);
hyperlink_lien->Enable();
hyperlink_lien->SetURL(detail_publi[4]);
checkbox_publi->Enable();
wxCheckBoxState etat;
if (list_publi[currentpubli].Left(1) == "!")
etat = wxCHK_UNDETERMINED;


+ 1
- 0
CosMoS/resultats.h View File

@@ -20,6 +20,7 @@ protected:
int currentrow;
int currentpubli;
wxArrayString list_publi;
bool changed;
// Handlers for dialog_resultats events.
void OnCellClick( wxGridEvent& event );
void OnCheckPubli( wxCommandEvent& event );


+ 3
- 2
Sante_Pub.workspace View File

@@ -13,10 +13,11 @@
]]>
</Environment>
<BuildMatrix>
<WorkspaceConfiguration Name="Debug" Selected="no">
<WorkspaceConfiguration Name="Debug" Selected="yes">
<Project Name="COSMOS" ConfigName="Debug"/>
<Project Name="CosMoS" ConfigName="Debug"/>
<Project Name="grid" ConfigName="Debug"/>
@@ -30,7 +31,7 @@
<Project Name="testcurl" ConfigName="Release"/>
<Project Name="testsqlite" ConfigName="Release"/>
</WorkspaceConfiguration>
<WorkspaceConfiguration Name="Debug_WIN" Selected="yes">
<WorkspaceConfiguration Name="Debug_WIN" Selected="no">
<Project Name="CosMoS" ConfigName="Debug_WIN"/>
<Project Name="grid" ConfigName="Debug_WIN"/>
<Project Name="testcurl" ConfigName="Debug_WIN"/>


Loading…
Cancel
Save