forked from KolibriOS/kolibrios
CMM: use single click instead of double in Eolite, add math.min() and math.max() functions, add more_less_box component
git-svn-id: svn://kolibrios.org@7086 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
824c13ffef
commit
c103cab861
@ -153,7 +153,7 @@ void main()
|
||||
Libimg_LoadImage(#icons16_default, "/sys/icons16.png");
|
||||
Libimg_LoadImage(#icons16_selected, "/sys/icons16.png");
|
||||
Libimg_ReplaceColor(icons16_selected.image, icons16_selected.w, icons16_selected.h, 0xffFFFfff, 0xFF94AECE);
|
||||
Libimg_ReplaceColor(icons16_selected.image, icons16_selected.w, icons16_selected.h, 0xffCACBD6, 0xFF94AECE);
|
||||
Libimg_ReplaceColor(icons16_selected.image, icons16_selected.w, icons16_selected.h, 0xffCACBD6, 0xFF7692B5);
|
||||
|
||||
//-p just show file/folder properties dialog
|
||||
if (param) && (param[0]=='-') && (param[1]=='p')
|
||||
@ -241,8 +241,7 @@ void main()
|
||||
//select file
|
||||
if (mouse.key&MOUSE_LEFT) && (mouse.up)
|
||||
{
|
||||
if (files.ProcessMouse(mouse.x, mouse.y)) List_ReDraw();
|
||||
else if (mouse.dblclick) Open(0);
|
||||
if (files.ProcessMouse(mouse.x, mouse.y)) List_ReDraw(); else Open(0);
|
||||
}
|
||||
//file menu
|
||||
if (mouse.key&MOUSE_RIGHT)
|
||||
|
@ -358,7 +358,7 @@ void DrawPropertiesWindow()
|
||||
|
||||
if (selected_count)
|
||||
{
|
||||
PropertiesDrawIcon(NULL, NULL);
|
||||
PropertiesDrawIcon(NULL, "<lot>");
|
||||
sprintf(#folder_info,"%s%d%s%d",SET_6,file_count,SET_7,dir_count);
|
||||
WriteText(file_name_ed.left+4, 30, 0x90, system.color.work_text, #folder_info);
|
||||
sprintf(#element_size_label,"%s (%d %s)",ConvertSize64(size_dir, NULL),size_dir,SET_BYTE_LANG);
|
||||
|
@ -13,6 +13,10 @@
|
||||
#include "../lib/patterns/rgb.h"
|
||||
#endif
|
||||
|
||||
#ifndef INCLUDE_MATH_H
|
||||
#include "../lib/math.h"
|
||||
#endif
|
||||
|
||||
:void DrawRectangle(dword x,y,w,h,color1)
|
||||
{
|
||||
if (w<=0) || (h<=0) return;
|
||||
@ -401,6 +405,47 @@ dword incn::inc(dword _addition)
|
||||
return true;
|
||||
}
|
||||
|
||||
/*=========================================================
|
||||
==
|
||||
== MORE LESS BOX
|
||||
==
|
||||
/========================================================*/
|
||||
|
||||
struct more_less_box
|
||||
{
|
||||
signed x,y;
|
||||
unsigned value, min, max;
|
||||
unsigned bt_id_more, bt_id_less;
|
||||
dword text;
|
||||
void click();
|
||||
void draw();
|
||||
};
|
||||
|
||||
void more_less_box::click(unsigned id)
|
||||
{
|
||||
if (id==bt_id_less) { value = math.max(value-1, min); draw(); }
|
||||
if (id==bt_id_more) { value = math.min(value+1, max); draw(); }
|
||||
}
|
||||
|
||||
void more_less_box::draw()
|
||||
{
|
||||
#define VALUE_FIELD_W 34
|
||||
#define SIZE 18
|
||||
dword value_text = itoa(value);
|
||||
|
||||
DrawRectangle(x, y, VALUE_FIELD_W+1, SIZE, system.color.work_graph);
|
||||
DrawRectangle3D(x+1, y+1, VALUE_FIELD_W-2, SIZE-2, 0xDDDddd, 0xffffff);
|
||||
DrawBar(x+2, y+2, VALUE_FIELD_W-3, SIZE-3, 0xffffff);
|
||||
WriteText( -strlen(value_text)+3*8 + x+6, SIZE / 2 + y -6, 0x90, 0x333333, value_text);
|
||||
|
||||
DrawCaptButton(VALUE_FIELD_W + x + 1, y, SIZE, SIZE, bt_id_more, system.color.work_button, system.color.work_button_text, "+");
|
||||
DrawCaptButton(VALUE_FIELD_W + x + SIZE, y, SIZE, SIZE, bt_id_less, system.color.work_button, system.color.work_button_text, "-");
|
||||
EDI = system.color.work;
|
||||
WriteText(x+VALUE_FIELD_W+SIZE+SIZE+10, SIZE / 2 + y -7, 0xD0, system.color.work_text, text);
|
||||
DrawRectangle3D(x-1,y-1,VALUE_FIELD_W+SIZE+SIZE+2,SIZE+2,system.color.work_dark,system.color.work_light);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
@ -18,7 +18,10 @@
|
||||
float floor(float x);
|
||||
signed round(float x);
|
||||
signed ceil(float x);
|
||||
signed min(signed i1, i2);
|
||||
signed max(signed i1, i2);
|
||||
}math;
|
||||
|
||||
:signed MATH::round(float x)
|
||||
{
|
||||
x+=0.6;
|
||||
@ -92,4 +95,18 @@
|
||||
}
|
||||
return r;
|
||||
}
|
||||
:signed MATH::min(signed i1, i2)
|
||||
{
|
||||
if (i1 < i2)
|
||||
return i1;
|
||||
else
|
||||
return i2;
|
||||
}
|
||||
:signed MATH::max(signed i1, i2)
|
||||
{
|
||||
if (i1 > i2)
|
||||
return i1;
|
||||
else
|
||||
return i2;
|
||||
}
|
||||
#endif
|
@ -18,6 +18,7 @@ dword box_lib_init = #aboxlib_init;
|
||||
dword edit_box_draw = #aEdit_box_draw;
|
||||
dword edit_box_key = #aEdit_box_key;
|
||||
dword edit_box_mouse = #aEdit_box_mouse;
|
||||
dword edit_box_set_text = #aEdit_box_set_text;
|
||||
dword version_ed = #aVersion_ed;
|
||||
|
||||
dword scrollbar_v_draw = #aScrollbar_v_draw;
|
||||
@ -39,6 +40,7 @@ $DD 2 dup 0
|
||||
char aEdit_box_draw [] = "edit_box";
|
||||
char aEdit_box_key [] = "edit_box_key";
|
||||
char aEdit_box_mouse[] = "edit_box_mouse";
|
||||
char aEdit_box_set_text[] = "edit_box_set_text";
|
||||
char aVersion_ed [] = "version_ed";
|
||||
|
||||
char aboxlib_init[] = "lib_init";
|
||||
|
Loading…
Reference in New Issue
Block a user