#include <map>
+/**
+ * Project Structure Report Dialog. Allows the user to inspect what is compiling and what's not.
+ */
class wxCDMProjectStructureReportDialog : public wxDialog
{
DECLARE_EVENT_TABLE()
public:
+ /**
+ * Project Structure Report Dialog Constructor.
+ * @param parent Parent window.
+ * @param properties Project precompilation check map.
+ * @param id Window ID. By default wxID_ANY.
+ * @param caption Window label. By default "Project Structure Report".
+ * @param position Dialog position. By default wxDefaultPosition.
+ * @param size Dialog size. By default 700, 500.
+ * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+ */
wxCDMProjectStructureReportDialog(
wxWindow* parent,
const std::map<std::string, bool>& properties,
const wxSize& size = wxSize(700,500),
long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
);
+ /**
+ * Destructor.
+ */
~wxCDMProjectStructureReportDialog();
+ /**
+ * Project Structure Report Dialog Creator.
+ * @param parent Parent window.
+ * @param id Window ID. By default wxID_ANY.
+ * @param caption Window label. By default "Project Structure Report".
+ * @param position Dialog position. By default wxDefaultPosition.
+ * @param size Dialog size. By default 700, 500.
+ * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+ * @return if the creation was successful.
+ */
bool Create(
wxWindow* parent,
wxWindowID id = wxID_ANY,
);
protected:
+ /**
+ * Creates the Dialog controls (text and button).
+ */
void CreateControls();
//attributes
private:
+ /**
+ * Project check results.
+ */
std::map<std::string, bool> properties;
//handlers
protected:
+ /**
+ * Handles when the close button is pressed.
+ * @param event Unused.
+ */
void OnFinish(wxCommandEvent& event);
+ /**
+ * Creates the project structure check results processed for showing them. In HTML
+ * @return Report in HTML format.
+ */
wxString GetContent();
};