diff --git a/ressources/process-stop.png b/ressources/process-stop.png new file mode 100644 index 0000000..217e33b Binary files /dev/null and b/ressources/process-stop.png differ diff --git a/view/wxGridCellBitmapRenderer.cpp b/view/wxGridCellBitmapRenderer.cpp new file mode 100644 index 0000000..8c5c622 --- /dev/null +++ b/view/wxGridCellBitmapRenderer.cpp @@ -0,0 +1,24 @@ +#include "wxGridCellBitmapRenderer.h" + +wxGridCellBitmapRenderer::wxGridCellBitmapRenderer(wxBitmap& bitmap) : _bitmap(bitmap) +{ + +} + +wxGridCellRenderer* wxGridCellBitmapRenderer::Clone () const +{ + wxBitmap bitmap(_bitmap); + return new wxGridCellBitmapRenderer(bitmap); +} + +void wxGridCellBitmapRenderer::Draw (wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, const wxRect &rect, int row, int col, bool isSelected) +{ + dc.SetBrush(wxBrush(grid.GetCellBackgroundColour(row, col))); + dc.DrawRectangle(rect); + dc.DrawBitmap (_bitmap, rect.x + (rect.width-_bitmap.GetWidth())/2, rect.y + (rect.height-_bitmap.GetHeight())/2, true); +} + +wxSize wxGridCellBitmapRenderer::GetBestSize (wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, int row, int col) +{ + return wxSize(_bitmap.GetWidth(), _bitmap.GetHeight()); +} diff --git a/view/wxGridCellBitmapRenderer.h b/view/wxGridCellBitmapRenderer.h new file mode 100644 index 0000000..7937934 --- /dev/null +++ b/view/wxGridCellBitmapRenderer.h @@ -0,0 +1,21 @@ +#ifndef WXGRIDCELLBITMAPRENDERER_H +#define WXGRIDCELLBITMAPRENDERER_H + +#include +#include +#include + +class wxGridCellBitmapRenderer : public wxGridCellRenderer +{ +public: + wxGridCellBitmapRenderer(wxBitmap& bitmap); + + virtual wxGridCellRenderer* Clone () const; + virtual void Draw (wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, const wxRect &rect, int row, int col, bool isSelected); + virtual wxSize GetBestSize (wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, int row, int col); + +private: + wxBitmap _bitmap; +}; + +#endif