*** empty log message ***

svn path=/trunk/boinc/; revision=10953
This commit is contained in:
David Anderson 2006-08-21 16:38:16 +00:00
parent 77a94a58ad
commit 4029ce3044
2 changed files with 229 additions and 187 deletions

View File

@ -7561,27 +7561,27 @@ David 13 July 2006
translate.php
David 14 July 2006
- core client: clean up related to host venue and project preferences.
Old: store host venue in account file,
and use it when parsing account file
to get the right venue-specific prefs.
This is bad because the account file is not
supposed to containt host-specific info,
and the venue is host-specific.
New: venue is stored in client state file, as part of project.
On initial parse of account file, <venue> elements are skipped.
Later, after client state file has been read,
account files projects with non-empty host_venue
are read again, this time looking for the selected
<venue> element and ignoring the rest.
Has this fixed any bugs? Maybe yes, maybe no.
But the logic is simpler now.
- core client: clean up related to host venue and project preferences.
Old: store host venue in account file,
and use it when parsing account file
to get the right venue-specific prefs.
This is bad because the account file is not
supposed to containt host-specific info,
and the venue is host-specific.
New: venue is stored in client state file, as part of project.
On initial parse of account file, <venue> elements are skipped.
Later, after client state file has been read,
account files projects with non-empty host_venue
are read again, this time looking for the selected
<venue> element and ignoring the rest.
Has this fixed any bugs? Maybe yes, maybe no.
But the logic is simpler now.
client/
client_state.C,h
client_types.C,h
cs_account.C
cs_scheduler.C
client/
client_state.C,h
client_types.C,h
cs_account.C
cs_scheduler.C
David 17 July 2006
- core client: close GUI RPC listening socket on exit
@ -7770,19 +7770,19 @@ David 20 July 2006
log_flags.C,h
David 20 July 2006
- core client: fix crash if client state file has
<project_files> for a project with no account file.
Also shuffled logic of state file parsing to reduce indentation
- core client: fix crash if client state file has
<project_files> for a project with no account file.
Also shuffled logic of state file parsing to reduce indentation
client/
cs_statefile.C
client/
cs_statefile.C
David 20 July 2006
- core client: fix crash if use <guirpc_debug/> flag,
and some GUI RPC reply is long (> 8K chars)
- core client: fix crash if use <guirpc_debug/> flag,
and some GUI RPC reply is long (> 8K chars)
client/
gui_rpc_server_ops.C
client/
gui_rpc_server_ops.C
Rom 20 July 2006
- Fix build break in the simple GUI when building for the Mac. Using itoa
@ -7989,26 +7989,26 @@ Charlie 25 July 2006
Postinstall.cpp
David 25 July 2006
core client fixes:
- fix bug where interrupted downloads failed with checksum error.
This was because we were comparing the HTTP status with 200.
But partial transfer success is 206.
(bug was introduced in June 28 checkin)
- on startup, make sure that all files that are
supposed to be present actually are.
Otherwise set status to NOT_PRESENT,
so that they'll be downloaded again.
- on reset, clear project_files and user_files vectors
- project files: parse and save md5 checksum.
Note: this is a placeholder;
I'll change it to full FILE_INFO later.
core client fixes:
- fix bug where interrupted downloads failed with checksum error.
This was because we were comparing the HTTP status with 200.
But partial transfer success is 206.
(bug was introduced in June 28 checkin)
- on startup, make sure that all files that are
supposed to be present actually are.
Otherwise set status to NOT_PRESENT,
so that they'll be downloaded again.
- on reset, clear project_files and user_files vectors
- project files: parse and save md5 checksum.
Note: this is a placeholder;
I'll change it to full FILE_INFO later.
client/
client_state.C,h
client_types.C
cs_files.C
file_xfer.C
http_curl.C
client/
client_state.C,h
client_types.C
cs_files.C
file_xfer.C
http_curl.C
David 25 July 2006
- fixes to Linux sandbox scripts (from Charlie)
@ -8040,11 +8040,11 @@ David 25 July 2006
scheduler_op.C
David 25 July 2006
- core client: when md5'ing a file, put the size in local var
rather than into the FILE_INFO
- core client: when md5'ing a file, put the size in local var
rather than into the FILE_INFO
client/
cs_files.C
client/
cs_files.C
Charlie 25 July 2006 (HEAD)
- Mac: Create separate targets for simple-gui and non-simple-gui Managers
@ -8156,13 +8156,13 @@ David 28 July 2006
forum_index.php
David 28 July 2006
- core client: bug fixes for project file mechanism
- clear project_file list before parsing it
- set fip->is_project_file (otherwise link won't get created)
- core client: bug fixes for project file mechanism
- clear project_file list before parsing it
- set fip->is_project_file (otherwise link won't get created)
client/
client_types.C
cs_trickle.C
client/
client_types.C
cs_trickle.C
David 28 July 2006
- f2f email: don't show form if project hasn't created a mail template
@ -8318,24 +8318,24 @@ Charlie 1 Aug 2006
project.pbxproj
David 2 Aug 2006
- core client: fix CPU throttling mechanism.
- Range is 0..100, not 0..1
- ACTIVE_TASK::prempt(): don't set scheduler_state
(that's not the job of this layer)
- core client: fiddle with messages
"task" should show you when results start and end
(always 2 messages per result)
"task_debug" shows every suspend/resume/checkpoint
"cpu_sched_debug" shows the results selected by scheduler
(more fiddling still needed)
- core client: fix CPU throttling mechanism.
- Range is 0..100, not 0..1
- ACTIVE_TASK::prempt(): don't set scheduler_state
(that's not the job of this layer)
- core client: fiddle with messages
"task" should show you when results start and end
(always 2 messages per result)
"task_debug" shows every suspend/resume/checkpoint
"cpu_sched_debug" shows the results selected by scheduler
(more fiddling still needed)
client/
app_control.C
app_start.C
cpu_sched.C
cs_prefs.C
lib/
prefs.C
client/
app_control.C
app_start.C
cpu_sched.C
cs_prefs.C
lib/
prefs.C
David 2 Aug 2006
- Reminder email: checked in SETI@home examples,
@ -8450,22 +8450,22 @@ David 6 Aug 2006
cs_apps.C
David 6 Aug 2006
- core client: enable graphics for an app if it's
scheduler state is "scheduled"
(rather than if it's actually running)
- change project files to Visual Studio 2005 format
(Rom: please check in 2003-format files with _2003.vcproj names)
- core client: enable graphics for an app if it's
scheduler state is "scheduled"
(rather than if it's actually running)
- change project files to Visual Studio 2005 format
(Rom: please check in 2003-format files with _2003.vcproj names)
client/
app_graphics.C
win_build/
boinc.sln
boinc_cli_curl.vcproj
boinc_dll.vcproj
boinc_ss.vcproj
boinccmd.vcproj
boincmgr_curl.vcproj
libboinc.vcproj
client/
app_graphics.C
win_build/
boinc.sln
boinc_cli_curl.vcproj
boinc_dll.vcproj
boinc_ss.vcproj
boinccmd.vcproj
boincmgr_curl.vcproj
libboinc.vcproj
David 6 Aug 2006
- GUI RPC: get_activity_state() returns the reasons for suspension,
@ -8481,15 +8481,15 @@ David 6 Aug 2006
gui_rpc_client_ops.C
David 6 Aug 2006
- 2nd part of the above
- 2nd part of the above
clientgui/
BOINCTaskBar.cpp
MainDocument.cpp
ViewTransfers.cpp
ViewWork.cpp
lib/
gui_rpc_client.h
clientgui/
BOINCTaskBar.cpp
MainDocument.cpp
ViewTransfers.cpp
ViewWork.cpp
lib/
gui_rpc_client.h
David 7 Aug 2006
- Add GUI RPCs for reading and writing the general prefs override file.
@ -8567,14 +8567,14 @@ David 8 Aug 2006
forum_moderate_post_action.php
David 8 Aug 2006
- core client: fix CPU scheduling but that would cause idle CPU
after suspending a task
- compile fix for VS2005
- core client: fix CPU scheduling but that would cause idle CPU
after suspending a task
- compile fix for VS2005
api/
gutil_text.C
client/
cpu_sched.C
api/
gutil_text.C
client/
cpu_sched.C
Walt 8 Aug 2006
- Bugfix: On unicode builds on Linux,wasn't displaying project name
@ -8639,57 +8639,57 @@ Walt 10 Aug 2006
boinc_core_release_5_5_12
David 10 Aug 2006
- major revision of work-fetch policy;
may fix bugs where client starves.
Also an improved version of my 10/8 scheduler fix.
(from John McLeod)
- major revision of work-fetch policy;
may fix bugs where client starves.
Also an improved version of my 10/8 scheduler fix.
(from John McLeod)
client/
app_control.C
client_state.C
client_types.C
cpu_sched.C
cs_apps.C
cs_scheduler.C
gui_rpc_server_ops.C
client/
app_control.C
client_state.C
client_types.C
cpu_sched.C
cs_apps.C
cs_scheduler.C
gui_rpc_server_ops.C
David 11 Aug 2006
- GUI RPC: add task and network suspend reasons to the
structure returned by get_cc_status().
Future items should be put in this structure
rather than adding a new RPC.
- GUI RPC: add task and network suspend reasons to the
structure returned by get_cc_status().
Future items should be put in this structure
rather than adding a new RPC.
Old RPCs (network_status() and get_activity_state())
have been left in to avoid breaking current add-ons.
They have been marked as deprecated and will be removed 12/06.
- Manager: if task is suspended, say why
Old RPCs (network_status() and get_activity_state())
have been left in to avoid breaking current add-ons.
They have been marked as deprecated and will be removed 12/06.
- Manager: if task is suspended, say why
client/
gui_rpc_server_ops.C
net_stats.C
clientgui/
BOINCTaskBar.cpp
MainDocument.cpp,h
ViewTransfers.cpp
ViewWork.cpp
lib/
error_numbers.h
gui_rpc_client.h
gui_rpc_client_ops.C
client/
gui_rpc_server_ops.C
net_stats.C
clientgui/
BOINCTaskBar.cpp
MainDocument.cpp,h
ViewTransfers.cpp
ViewWork.cpp
lib/
error_numbers.h
gui_rpc_client.h
gui_rpc_client_ops.C
Milos 11 Aug 2006
- Added suport for importing images from skin for Flat Notebook
Added additional routine to check for Skin validity. Skin validity
is also checked now when different skin choosen. If skin is not valid
no skin will be changed.
clientgui/
sg_BoincSimpleGUI.cpp
sg_ProjectsComponent.cpp
sg_SkinClass.h
clientgui/common
wxFlatNotebook.cpp
clientgui/skins/default && WorldCommunityGrid
skin.xml
Milos 11 Aug 2006
- Added suport for importing images from skin for Flat Notebook
Added additional routine to check for Skin validity. Skin validity
is also checked now when different skin choosen. If skin is not valid
no skin will be changed.
clientgui/
sg_BoincSimpleGUI.cpp
sg_ProjectsComponent.cpp
sg_SkinClass.h
clientgui/common
wxFlatNotebook.cpp
clientgui/skins/default && WorldCommunityGrid
skin.xml
David 11 Aug 2006
- GUI RPC: change things so most of the read-only RPCs
@ -8845,13 +8845,13 @@ Charlie 15 Aug 2006
cs_scheduler.C
David 15 Aug 2006
- core client: removed <work_fetch_debug/> message
- Manager: changed one wxDateTime to double (should change all)
- core client: removed <work_fetch_debug/> message
- Manager: changed one wxDateTime to double (should change all)
client/
cs_scheduler.C
clientgui/
MainDocument.cpp,h
client/
cs_scheduler.C
clientgui/
MainDocument.cpp,h
Rom 15 Aug 2006
- lib: Fix missing case for MIOFILE where MIOFILE.printf didn't know how
@ -8990,21 +8990,21 @@ Milos 18 Aug 2006
and project view. Also added logic for showing state
clientgui/
sg_ViewTabPage.cpp,h
sg_SkinClass.h
sg_ProjectsComponent.cpp
sg_DlgPreferences.cpp,h
sg_ClientStateIndicator.cpp,h
sg_BoincSimpleGUI.cpp,h
sg_ViewTabPage.cpp,h
sg_SkinClass.h
sg_ProjectsComponent.cpp
sg_DlgPreferences.cpp,h
sg_ClientStateIndicator.cpp,h
sg_BoincSimpleGUI.cpp,h
client/skins/.../
skin.xml
client/skins/.../graphic
conn_ind.png
error_image.png
state_ind_bg.png
simplegui_bg.png
conn_ind.png
error_image.png
state_ind_bg.png
simplegui_bg.png
Charlie 19 Aug 2006
-Mac: Fixed a bug in setMacIcon() associated with sandbox security;
@ -9049,3 +9049,10 @@ Charlie 21 Aug 2006
api/
macglutfix.m
x_opengl.C
David 21 Aug 2006
- Manager: make axis labels uniform in Statistics tab
(from Mifistor)
clientgui/
ViewStatistics.cpp

View File

@ -226,10 +226,10 @@ void CPaintStatistics::DrawLegend(wxPaintDC &dc, PROJECTS * &proj, CMainDocument
dc.DrawRectangle(x_end+1,y_start+1+wxCoord(((double)(count)+0.5)*1.1*(double)(h_temp)),project_name_max_width-2,h_temp+2);
}
wxColour tempColour1=wxColour(0,0,0);
// wxColour tempColour1=wxColour(0,0,0);
wxColour grafColour=wxColour(0,0,0);
wxInt32 typePoint=0;
tempColour1=GetForegroundColour ();
// tempColour1=GetForegroundColour();
if (bColour){
getTypePoint(typePoint,count);
getDrawColour(grafColour,count);
@ -238,7 +238,7 @@ void CPaintStatistics::DrawLegend(wxPaintDC &dc, PROJECTS * &proj, CMainDocument
dc.SetBrush(wxBrush(m_ligthbrushAxisColour , wxSOLID));
myDrawPoint(dc, x_end+4+1+m_GraphPointWidth/2, y_start+2+wxCoord(((double)(count)+1)*1.1*(double)(h_temp)), grafColour, typePoint ,m_GraphPointWidth);
dc.DrawText (head_name, x_end+4+4+m_GraphPointWidth, y_start+2+wxCoord(((double)(count)+0.5)*1.1*(double)(h_temp)));
dc.SetTextForeground (tempColour1);
dc.SetTextForeground (*wxBLACK);
}
dc.SetFont(m_font_stdandart);
};
@ -246,6 +246,8 @@ void CPaintStatistics::DrawLegend(wxPaintDC &dc, PROJECTS * &proj, CMainDocument
//----Draw graph----
void CPaintStatistics::DrawGraph(wxPaintDC &dc, std::vector<PROJECT*>::const_iterator &i, const wxCoord x_start, const wxCoord x_end, const wxCoord y_start, const wxCoord y_end, const wxColour grafColour, const wxInt32 typePoint, const wxInt32 m_SelectedStatistic, const double max_val_y, const double min_val_y, const double max_val_x, const double min_val_x) {
dc.SetClippingRegion(x_start-4, y_start-4, x_end-x_start+8, y_end-y_start+8);
const double yscale=(y_end-y_start)/(max_val_y-min_val_y);
const double xscale=(x_end-x_start)/(max_val_x-min_val_x);
@ -278,11 +280,15 @@ void CPaintStatistics::DrawGraph(wxPaintDC &dc, std::vector<PROJECT*>::const_ite
last_y=ypos;
}
if (last_y!=0) myDrawPoint(dc, last_x, last_y, grafColour, typePoint ,m_GraphPointWidth);
dc.DestroyClippingRegion();
}
//----Draw background, axis(lines), text(01-Jan-1980)----
void CPaintStatistics::DrawAxis(wxPaintDC &dc, const double max_val_y, const double min_val_y, const double max_val_x, const double min_val_x, wxCoord &x_start, wxCoord &x_end, wxCoord &y_start, wxCoord &y_end) {
dc.SetClippingRegion(x_start, y_start, x_end-x_start, y_end-y_start);
dc.SetBrush(wxBrush(m_brushAxisColour , wxSOLID));
dc.SetPen(wxPen(m_penAxisColour , 1 , wxSOLID));
@ -318,20 +324,39 @@ void CPaintStatistics::DrawAxis(wxPaintDC &dc, const double max_val_y, const dou
if (x_end<x_start) x_start=x_end=(x_end+x_start)/2;
if (y_end<y_start) y_start=y_end=(y_end+y_start)/2;
const double yscale=(y_end-y_start)/(max_val_y-min_val_y);
const double xscale=(x_end-x_start)/(max_val_x-min_val_x);
//Draw val and lines
dc.SetPen(wxPen(wxColour (64 , 128 , 192) , 1 , wxDOT));
wxInt32 d_oy_count=1;
d_oy_count=(wxInt32)((y_end-y_start)/(1.2*h_temp));
if (d_oy_count>9) d_oy_count=9;
if (d_oy_count<1) d_oy_count=1;
d_oy_count=(wxInt32)ceil((y_end-y_start)/(2.0*h_temp));
// if (d_oy_count>9) d_oy_count=9;
// if (d_oy_count<1) d_oy_count=1;
double d_oy_val=fabs((max_val_y-min_val_y)/d_oy_count);
double d2=pow(10 , floor(log10(d_oy_val)));
if (d2>=d_oy_val){
d_oy_val=1*d2;
} else if (2*d2>=d_oy_val){
d_oy_val=2*d2;
} else if (5*d2>=d_oy_val){
d_oy_val=5*d2;
} else {
d_oy_val=10*d2;
}
double d_oy=(double)(y_end-y_start)/d_oy_count;
double d_oy_val=(double)(max_val_y-min_val_y)/d_oy_count;
double y_start_val=ceil(min_val_y/d_oy_val)*d_oy_val;
for (double ny=0; ny<=d_oy_count;++ny){
dc.GetTextExtent(wxString::Format(wxT("%.1f"), min_val_y+ny*d_oy_val), &w_temp, &h_temp, &des_temp, &lead_temp);
dc.DrawText(wxString::Format(wxT("%.1f"), min_val_y+ny*d_oy_val),(wxCoord)(x_start-w_temp-2-d_x),(wxCoord)(y_end-ny*d_oy-h_temp/2.0));
dc.DrawLine((wxCoord)(x_start-d_x+1),(wxCoord)(y_end-ny*d_oy),(wxCoord)(x_end+d_x),(wxCoord)(y_end-ny*d_oy));
dc.GetTextExtent(wxString::Format(wxT("%.1f"), y_start_val+ny*d_oy_val), &w_temp, &h_temp, &des_temp, &lead_temp);
if ((y_end - yscale * (y_start_val + ny * d_oy_val - min_val_y))>=(y_start-1)){
dc.DrawText(wxString::Format(wxT("%.1f"), y_start_val+ny*d_oy_val),(wxCoord)(x_start-w_temp-2-d_x),(wxCoord)(y_end - yscale * (y_start_val + ny * d_oy_val - min_val_y) - h_temp/2.0));
dc.DrawLine((wxCoord)(x_start-d_x+1),(wxCoord)(y_end - yscale * (y_start_val + ny * d_oy_val - min_val_y)),(wxCoord)(x_end+d_x),(wxCoord)(y_end - yscale * (y_start_val + ny * d_oy_val - min_val_y)));
}
}
//Draw day numbers and lines marking the days
@ -341,19 +366,22 @@ void CPaintStatistics::DrawAxis(wxPaintDC &dc, const double max_val_y, const dou
wxInt32 d_ox_count=1;
d_ox_count=(wxInt32)((x_end-x_start)/(1.2*w_temp));
if (d_ox_count>9) d_ox_count=9;
if (d_ox_count<1) d_ox_count=1;
double d_ox=(double)(x_end-x_start)/d_ox_count;
double d_ox_val=(double)(max_val_x-min_val_x)/d_ox_count;
double d_ox_val=ceil(((double)(max_val_x-min_val_x)/d_ox_count)/86400.0)*86400.0;
d_ox_count=(wxInt32)ceil((max_val_x-min_val_x)/d_ox_val);
double x_start_val=ceil(min_val_x/86400.0)*86400.0;
for (double nx=0; nx<=d_ox_count;++nx){
dtTemp1.Set((time_t)(min_val_x+nx*d_ox_val));
dtTemp1.Set((time_t)(x_start_val+nx*d_ox_val));
strBuffer1=dtTemp1.Format(wxT("%d.%b.%y"));
dc.GetTextExtent(strBuffer1, &w_temp, &h_temp, &des_temp, &lead_temp);
dc.DrawText(strBuffer1, (wxCoord)(x_start-w_temp/2.0+nx*d_ox), (wxCoord)(y_end+d_y));
dc.DrawLine((wxCoord)(x_start+nx*d_ox),(wxCoord)(y_start-d_y+1), (wxCoord)(x_start+nx*d_ox),(wxCoord)(y_end+d_y));
if ((x_start + xscale * (x_start_val + nx * d_ox_val - min_val_x))<=(x_end+1)){
dc.DrawText(strBuffer1, (wxCoord)(x_start-w_temp/2.0 + (xscale * (x_start_val + nx * d_ox_val - min_val_x))), (wxCoord)(y_end+d_y));
dc.DrawLine((wxCoord)(x_start + xscale * (x_start_val + nx * d_ox_val - min_val_x)),(wxCoord)(y_start-d_y+1), (wxCoord)(x_start + xscale * (x_start_val + nx * d_ox_val - min_val_x)),(wxCoord)(y_end+d_y));
}
}
dc.DestroyClippingRegion();
}
void CPaintStatistics::OnPaint(wxPaintEvent& WXUNUSED(event)) {
@ -375,8 +403,9 @@ void CPaintStatistics::OnPaint(wxPaintEvent& WXUNUSED(event)) {
GetClientSize(&width, &height);
dc.SetBackground(*wxWHITE_BRUSH);
dc.SetTextForeground (GetForegroundColour ());
// dc.SetTextForeground (GetForegroundColour ());
dc.SetTextForeground (*wxBLACK);
dc.SetTextBackground (GetBackgroundColour ());
m_font_stdandart=dc.GetFont();
@ -441,6 +470,8 @@ void CPaintStatistics::OnPaint(wxPaintEvent& WXUNUSED(event)) {
MinMaxDayCredit(i, min_val_y,max_val_y,min_val_x, max_val_x, m_SelectedStatistic);
CheckMinMaxD(min_val_x, max_val_x);
CheckMinMaxD(min_val_y, max_val_y);
min_val_x=floor(min_val_x/86400.0)*86400.0;
max_val_x=ceil(max_val_x/86400.0)*86400.0;
//Where do we draw in?
wxCoord x_start=0, y_start=0, x_end=0, y_end=0;
x_start=(wxCoord)(rectangle_x_start+x_fac*(double)(col-1));
@ -506,6 +537,8 @@ void CPaintStatistics::OnPaint(wxPaintEvent& WXUNUSED(event)) {
CheckMinMaxD(min_val_x, max_val_x);
CheckMinMaxD(min_val_y, max_val_y);
min_val_x=floor(min_val_x/86400.0)*86400.0;
max_val_x=ceil(max_val_x/86400.0)*86400.0;
///Draw axis + Draw Project name
PROJECT* statistic = wxGetApp().GetDocument()->statistic(count);
PROJECT* state_project = NULL;
@ -556,6 +589,8 @@ void CPaintStatistics::OnPaint(wxPaintEvent& WXUNUSED(event)) {
}
CheckMinMaxD(min_val_x, max_val_x);
CheckMinMaxD(min_val_y, max_val_y);
min_val_x=floor(min_val_x/86400.0)*86400.0;
max_val_x=ceil(max_val_x/86400.0)*86400.0;
///Draw axis
CheckMinMaxC(rectangle_x_start, rectangle_x_end);
CheckMinMaxC(rectangle_y_start, rectangle_y_end);