2005-01-20 23:22:22 +00:00
|
|
|
// Berkeley Open Infrastructure for Network Computing
|
|
|
|
// http://boinc.berkeley.edu
|
|
|
|
// Copyright (C) 2005 University of California
|
2004-05-17 22:15:10 +00:00
|
|
|
//
|
2005-01-20 23:22:22 +00:00
|
|
|
// This is free software; you can redistribute it and/or
|
|
|
|
// modify it under the terms of the GNU Lesser General Public
|
|
|
|
// License as published by the Free Software Foundation;
|
|
|
|
// either version 2.1 of the License, or (at your option) any later version.
|
2004-04-10 09:11:03 +00:00
|
|
|
//
|
2005-01-20 23:22:22 +00:00
|
|
|
// This software is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
// See the GNU Lesser General Public License for more details.
|
2004-05-17 22:15:10 +00:00
|
|
|
//
|
2005-01-20 23:22:22 +00:00
|
|
|
// To view the GNU Lesser General Public License visit
|
|
|
|
// http://www.gnu.org/copyleft/lesser.html
|
|
|
|
// or write to the Free Software Foundation, Inc.,
|
2007-10-09 11:35:47 +00:00
|
|
|
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
2004-05-17 22:15:10 +00:00
|
|
|
|
2004-09-21 01:30:29 +00:00
|
|
|
#ifndef _BOINCBASEVIEW_H_
|
|
|
|
#define _BOINCBASEVIEW_H_
|
2004-04-11 04:37:10 +00:00
|
|
|
|
|
|
|
#if defined(__GNUG__) && !defined(__APPLE__)
|
2004-09-21 01:30:29 +00:00
|
|
|
#pragma interface "BOINCBaseView.cpp"
|
2004-04-11 04:37:10 +00:00
|
|
|
#endif
|
|
|
|
|
2005-04-20 22:22:41 +00:00
|
|
|
#define DEFAULT_TASK_FLAGS wxTAB_TRAVERSAL | wxADJUST_MINSIZE
|
2004-10-27 21:10:22 +00:00
|
|
|
#define DEFAULT_LIST_SINGLE_SEL_FLAGS wxLC_REPORT | wxLC_VIRTUAL | wxLC_SINGLE_SEL
|
|
|
|
#define DEFAULT_LIST_MULTI_SEL_FLAGS wxLC_REPORT | wxLC_VIRTUAL
|
|
|
|
|
2004-10-26 01:59:44 +00:00
|
|
|
|
2004-12-23 01:06:41 +00:00
|
|
|
class CBOINCTaskCtrl;
|
|
|
|
class CBOINCListCtrl;
|
2006-01-09 14:03:13 +00:00
|
|
|
class PROJECT;
|
|
|
|
|
2004-12-23 01:06:41 +00:00
|
|
|
|
2005-04-10 19:01:23 +00:00
|
|
|
class CTaskItem : wxObject {
|
2005-04-08 06:24:58 +00:00
|
|
|
public:
|
2005-04-20 22:22:41 +00:00
|
|
|
CTaskItem();
|
|
|
|
CTaskItem( wxString strName, wxString strDescription, wxInt32 iEventID ) :
|
2005-11-04 01:35:57 +00:00
|
|
|
m_strName(strName), m_strDescription(strDescription), m_iEventID(iEventID),
|
|
|
|
m_pButton(NULL), m_strWebSiteLink(wxT("")) {};
|
2005-04-27 06:32:40 +00:00
|
|
|
CTaskItem( wxString strName, wxString strDescription, wxString strWebSiteLink, wxInt32 iEventID ) :
|
2005-11-04 01:35:57 +00:00
|
|
|
m_strName(strName), m_strDescription(strDescription), m_iEventID(iEventID),
|
|
|
|
m_pButton(NULL), m_strWebSiteLink(strWebSiteLink) {};
|
2005-04-20 22:22:41 +00:00
|
|
|
~CTaskItem() {};
|
|
|
|
|
|
|
|
wxString m_strName;
|
|
|
|
wxString m_strDescription;
|
|
|
|
wxInt32 m_iEventID;
|
|
|
|
|
|
|
|
wxButton* m_pButton;
|
2005-04-21 23:14:10 +00:00
|
|
|
wxString m_strWebSiteLink;
|
2005-04-20 22:22:41 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CTaskItemGroup : wxObject {
|
|
|
|
public:
|
|
|
|
CTaskItemGroup();
|
|
|
|
CTaskItemGroup( wxString strName ) :
|
|
|
|
m_strName(strName), m_pStaticBox(NULL), m_pStaticBoxSizer(NULL) { m_Tasks.clear(); };
|
|
|
|
~CTaskItemGroup() {};
|
2005-04-21 22:21:54 +00:00
|
|
|
wxButton* button(int i) {return m_Tasks[i]->m_pButton;}
|
2005-04-20 22:22:41 +00:00
|
|
|
|
|
|
|
wxString m_strName;
|
|
|
|
|
|
|
|
wxStaticBox* m_pStaticBox;
|
|
|
|
wxStaticBoxSizer* m_pStaticBoxSizer;
|
|
|
|
|
|
|
|
std::vector<CTaskItem*> m_Tasks;
|
2005-04-08 06:24:58 +00:00
|
|
|
};
|
|
|
|
|
2005-04-20 22:22:41 +00:00
|
|
|
|
2005-04-10 19:01:23 +00:00
|
|
|
class CBOINCBaseView : public wxPanel {
|
2004-09-21 01:30:29 +00:00
|
|
|
DECLARE_DYNAMIC_CLASS( CBOINCBaseView )
|
2004-04-10 09:11:03 +00:00
|
|
|
|
|
|
|
public:
|
2004-12-02 07:43:47 +00:00
|
|
|
|
2004-09-21 01:30:29 +00:00
|
|
|
CBOINCBaseView();
|
2004-10-27 21:10:22 +00:00
|
|
|
CBOINCBaseView(
|
2005-09-06 06:18:36 +00:00
|
|
|
wxNotebook* pNotebook
|
2005-07-21 09:43:40 +00:00
|
|
|
);
|
|
|
|
CBOINCBaseView(
|
|
|
|
wxNotebook* pNotebook,
|
2005-04-20 22:22:41 +00:00
|
|
|
wxWindowID iTaskWindowID,
|
|
|
|
int iTaskWindowFlags,
|
2004-10-27 21:10:22 +00:00
|
|
|
wxWindowID iListWindowID,
|
2005-04-21 06:04:26 +00:00
|
|
|
int iListWindowFlags
|
2004-10-27 21:10:22 +00:00
|
|
|
);
|
2004-04-10 09:11:03 +00:00
|
|
|
|
2004-09-21 01:30:29 +00:00
|
|
|
~CBOINCBaseView();
|
2004-04-10 09:11:03 +00:00
|
|
|
|
2005-09-02 21:03:36 +00:00
|
|
|
virtual wxString& GetViewName();
|
- fixes #207 - HTML entities in BOINC Manager have to be decoded
BOINC Manager can now properly decode HTML entites for the
following elements:
Projects Tab:
Project Name
User Name
Team Name
Work Tab:
Project Name
Application Name
Transfers Tab:
Project Name
Messages Tab:
Project Name
Disk Tab:
Project Name
- fixes #212 - Info in columns misaligned on switching views
- Properly restore which tab view the user left from when going
to the advanced view from the simple view
- Fix the problem that caused the manager to wait for 7 seconds
to display anything on initial startup.
- Store the various Grid/List persisted data seperately so that
the different header sizes don't cause problems.
clientgui/
AdvancedFrame.cpp
BOINCBaseView.cpp, .h
BOINCGridCtrl.cpp
ViewMessages.cpp, .h
ViewMessagesGrid.cpp, .h
ViewProjects.cpp, .h
ViewProjectsGrid.cpp, .h
ViewResources.cpp, .h
ViewStatistics.cpp, .h
ViewTransfers.cpp, .h
ViewTransfersGrid.cpp, .h
ViewWork.cpp, .h
ViewWorkGrid.cpp, .h
lib/
gui_rpc_client_ops.C
svn path=/trunk/boinc/; revision=12761
2007-05-29 05:07:35 +00:00
|
|
|
virtual wxString& GetViewDisplayName();
|
2005-04-06 20:40:19 +00:00
|
|
|
virtual const char** GetViewIcon();
|
2006-12-29 16:35:33 +00:00
|
|
|
virtual const int GetViewRefreshRate();
|
2004-07-13 05:56:03 +00:00
|
|
|
|
2004-12-02 07:43:47 +00:00
|
|
|
bool FireOnSaveState( wxConfigBase* pConfig );
|
|
|
|
bool FireOnRestoreState( wxConfigBase* pConfig );
|
2005-04-20 22:22:41 +00:00
|
|
|
|
|
|
|
virtual int GetListRowCount();
|
|
|
|
void FireOnListRender( wxTimerEvent& event );
|
2004-12-02 07:43:47 +00:00
|
|
|
void FireOnListSelected( wxListEvent& event );
|
|
|
|
void FireOnListDeselected( wxListEvent& event );
|
|
|
|
wxString FireOnListGetItemText( long item, long column ) const;
|
|
|
|
int FireOnListGetItemImage( long item ) const;
|
|
|
|
wxListItemAttr* FireOnListGetItemAttr( long item ) const;
|
|
|
|
|
2005-04-20 22:22:41 +00:00
|
|
|
std::vector<CTaskItemGroup*> m_TaskGroups;
|
2005-04-06 20:40:19 +00:00
|
|
|
|
2004-12-02 07:43:47 +00:00
|
|
|
protected:
|
|
|
|
|
2004-09-21 01:30:29 +00:00
|
|
|
virtual bool OnSaveState( wxConfigBase* pConfig );
|
|
|
|
virtual bool OnRestoreState( wxConfigBase* pConfig );
|
|
|
|
|
2005-04-20 22:22:41 +00:00
|
|
|
virtual void OnListRender( wxTimerEvent& event );
|
2004-09-24 02:01:53 +00:00
|
|
|
virtual void OnListSelected( wxListEvent& event );
|
|
|
|
virtual void OnListDeselected( wxListEvent& event );
|
|
|
|
virtual wxString OnListGetItemText( long item, long column ) const;
|
|
|
|
virtual int OnListGetItemImage( long item ) const;
|
|
|
|
virtual wxListItemAttr* OnListGetItemAttr( long item ) const;
|
2004-07-13 05:56:03 +00:00
|
|
|
|
2007-04-04 21:20:53 +00:00
|
|
|
virtual void OnGridSelectCell( wxGridEvent& event );
|
|
|
|
virtual void OnGridSelectRange( wxGridRangeSelectEvent& event );
|
|
|
|
|
2005-04-20 22:22:41 +00:00
|
|
|
virtual int GetDocCount();
|
2004-12-02 07:43:47 +00:00
|
|
|
virtual wxString OnDocGetItemText( long item, long column ) const;
|
|
|
|
virtual wxString OnDocGetItemImage( long item ) const;
|
|
|
|
virtual wxString OnDocGetItemAttr( long item ) const;
|
|
|
|
|
2005-04-20 22:22:41 +00:00
|
|
|
virtual int AddCacheElement();
|
|
|
|
virtual int EmptyCache();
|
|
|
|
virtual int GetCacheCount();
|
|
|
|
virtual int RemoveCacheElement();
|
|
|
|
virtual int SyncronizeCache();
|
|
|
|
virtual int UpdateCache( long item, long column, wxString& strNewData );
|
2004-09-24 02:01:53 +00:00
|
|
|
|
2005-04-27 06:32:40 +00:00
|
|
|
virtual void EmptyTasks();
|
|
|
|
|
2006-01-09 14:03:13 +00:00
|
|
|
virtual void PreUpdateSelection();
|
2005-04-20 22:22:41 +00:00
|
|
|
virtual void UpdateSelection();
|
2006-01-09 14:03:13 +00:00
|
|
|
virtual void PostUpdateSelection();
|
|
|
|
|
|
|
|
virtual void UpdateWebsiteSelection(long lControlGroup, PROJECT* project);
|
2004-12-02 07:43:47 +00:00
|
|
|
|
2005-01-29 00:58:43 +00:00
|
|
|
bool _EnsureLastItemVisible();
|
2004-12-02 07:43:47 +00:00
|
|
|
virtual bool EnsureLastItemVisible();
|
|
|
|
|
2005-06-13 08:47:51 +00:00
|
|
|
static void append_to_status(wxString& existing, const wxChar* additional);
|
- fixes #207 - HTML entities in BOINC Manager have to be decoded
BOINC Manager can now properly decode HTML entites for the
following elements:
Projects Tab:
Project Name
User Name
Team Name
Work Tab:
Project Name
Application Name
Transfers Tab:
Project Name
Messages Tab:
Project Name
Disk Tab:
Project Name
- fixes #212 - Info in columns misaligned on switching views
- Properly restore which tab view the user left from when going
to the advanced view from the simple view
- Fix the problem that caused the manager to wait for 7 seconds
to display anything on initial startup.
- Store the various Grid/List persisted data seperately so that
the different header sizes don't cause problems.
clientgui/
AdvancedFrame.cpp
BOINCBaseView.cpp, .h
BOINCGridCtrl.cpp
ViewMessages.cpp, .h
ViewMessagesGrid.cpp, .h
ViewProjects.cpp, .h
ViewProjectsGrid.cpp, .h
ViewResources.cpp, .h
ViewStatistics.cpp, .h
ViewTransfers.cpp, .h
ViewTransfersGrid.cpp, .h
ViewWork.cpp, .h
ViewWorkGrid.cpp, .h
lib/
gui_rpc_client_ops.C
svn path=/trunk/boinc/; revision=12761
2007-05-29 05:07:35 +00:00
|
|
|
static wxString HtmlEntityEncode(wxString strRaw);
|
|
|
|
static wxString HtmlEntityDecode(wxString strRaw);
|
2005-06-13 08:47:51 +00:00
|
|
|
|
2004-09-25 21:33:24 +00:00
|
|
|
bool m_bProcessingTaskRenderEvent;
|
|
|
|
bool m_bProcessingListRenderEvent;
|
2004-10-26 01:59:44 +00:00
|
|
|
|
2005-07-22 20:19:58 +00:00
|
|
|
bool m_bForceUpdateSelection;
|
2008-03-18 18:19:49 +00:00
|
|
|
bool m_bIgnoreUIEvents;
|
2005-07-22 20:19:58 +00:00
|
|
|
|
2004-09-21 01:30:29 +00:00
|
|
|
CBOINCTaskCtrl* m_pTaskPane;
|
|
|
|
CBOINCListCtrl* m_pListPane;
|
2004-04-10 09:11:03 +00:00
|
|
|
};
|
2004-04-11 04:37:10 +00:00
|
|
|
|
|
|
|
|
2004-04-11 05:09:18 +00:00
|
|
|
#endif
|
|
|
|
|