178,8 → 178,6 |
void DrawPathEolite() |
{ |
PathShow.text_pointer = location[0]; |
PathShow.start_x = 250; |
PathShow.start_y = 17; |
PathShow.area_size_x = Form.cwidth-300; |
DrawBar(PathShow.start_x-3, PathShow.start_y-6, PathShow.area_size_x+3, 19, col.odd_line); |
DrawRectangle(PathShow.start_x-4,PathShow.start_y-7,PathShow.area_size_x+4,20,sc.work_graph); |
232,13 → 230,14 |
void DrawBreadCrumbs() |
collection_int breadCrumb=0; |
char PathShow_path[4096]; |
block btn; |
int btnx; |
int i; |
unsigned text_line; |
{ |
breadCrumb.drop(); |
strcpy(#PathShow_path, "/<root>"); |
if (ESBYTE[path+1]) { |
strcat(#PathShow_path, path); |
for (i=0; i<50; i++) DeleteButton(i+BREADCRUMB_ID); |
breadCrumb.drop(); |
} |
for (i=0; (PathShow_path[i]) && (i<sizeof(PathShow_path)-1); i++) |
{ |
if (PathShow_path[i]=='/') { |
247,38 → 246,29 |
} |
} |
breadCrumb.add(i+1); |
btn.set_size(246,10,NULL,20); |
//area_w = Form.cwidth - btn.x - 20; |
for (i=0; i<breadCrumb.count-1; i++) |
{ |
text_line = breadCrumb.get(i) + #PathShow_path; ///EDI! |
btn.w = strlen(text_line)*8+10; |
DrawBreadcrumbButton(btn.x, btn.y, btn.w, btn.h, i+BREADCRUMB_ID, text_line); |
btn.y += btn.h; |
|
if (!efm) btnx = 250-4; |
else btnx = Form.cwidth/2-2*active_panel + DDW + 2; |
|
for (i=0; i<breadCrumb.count-1; i++) { |
EDI = breadCrumb.get(i) + #PathShow_path; |
DrawFlatButtonSmall(btnx, KFM2_DEVH-1*i+SELECTY+KFM2_DEVH, |
250, KFM2_DEVH, i+BREADCRUMB_ID, EDI); |
} |
btn.x++; |
DrawBar(btn.x,btn.y-1,Form.cwidth-btn.x-25,btn.h+3,sc.work); |
} |
|
void ClickOnBreadCrumb(unsigned clickid) |
{ |
int i, slashpos = path; |
for (i=0; i!=clickid+2; i++) { |
if (!clickid) { |
ESBYTE[path+1] = '\0'; |
} else { |
for (i=1; i!=clickid+2; i++) { |
slashpos=strchr(slashpos,'/')+1; |
} |
ESBYTE[slashpos-1] = NULL; |
Open_Dir(path,WITH_REDRAW); |
ESBYTE[slashpos-1] = '\0'; |
} |
|
void DrawBreadcrumbButton(dword x,y,w,h,id,text) |
{ |
int i; |
DrawRectangle(x,y,w,h,sc.work_graph); |
for (i=0; (i<h-1) & (i<20); i++) DrawBar(x+1, y+i+1, w-1, 1, col.work_gradient[20-i]); |
DrawRectangle3D(x+1,y+1,w-2,h-2,sc.work_light, sc.work_dark); |
DefineHiddenButton(x+1,y+1,w-2,h-2,id); |
WriteText(-strlen(text)*8+w/2+x,h/2+y-7,0x90,sc.work_text,text); |
DrawBar(x, y+h+1, w+1, 1, sc.work_light); |
OpenDir(WITH_REDRAW); |
} |
|
//===================================================// |