Subversion Repositories Kolibri OS

Rev

Rev 7466 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7466 Rev 10017
Line 7... Line 7...
7
    LIST_HEIGHT = (LIST_SIZE * LINE_SIZE / 2)
7
    LIST_HEIGHT = (LIST_SIZE * LINE_SIZE / 2)
8
    WIN_HEIGHT  = (LIST_HEIGHT + 80)
8
    WIN_HEIGHT  = (LIST_HEIGHT + 80)
Line 9... Line 9...
9
 
9
 
10
    use32
10
    use32
11
    org     0
11
    org     0
12
    db	    'MENUET01'
12
    db      'MENUET01'
-
 
13
    dd      1, main, dataend, memory, memory
-
 
14
M01header.params:
Line 13... Line 15...
13
    dd	    1, main, dataend, memory, memory, params, 0
15
    dd      params, 0
14
 
16
 
15
    include "../../proc32.inc"
17
    include "../../proc32.inc"
16
    include "../../macros.inc"
18
    include "../../macros.inc"
Line 60... Line 62...
60
  .next db "next", 0
62
  .next db "next", 0
61
  .icon db "icon", 0
63
  .icon db "icon", 0
Line 62... Line 64...
62
 
64
 
63
 sb_apps scrollbar \
65
 sb_apps scrollbar \
64
  13, WIN_WIDTH - 25, LIST_HEIGHT, 10 + 12, \  ;; w, x, h, y
66
  13, WIN_WIDTH - 25, LIST_HEIGHT, 10 + 12, \  ;; w, x, h, y
65
  0, 0, LIST_SIZE / 2, 0, \		       ;; b.h, max, area, pos
67
  0, 0, LIST_SIZE / 2, 0, \                    ;; b.h, max, area, pos
Line 66... Line 68...
66
  0, 0, 0, 2
68
  0, 0, 0, 2
67
 
69
 
Line 89... Line 91...
89
  .y_start dw 120
91
  .y_start dw 120
Line 90... Line 92...
90
 
92
 
Line 91... Line 93...
91
 .filter dd 0
93
 .filter dd 0
92
 
94
 
93
 ps_addres:
95
 ps_addres:
94
  dd 0		;; type
96
  dd 0          ;; type
95
  dw 7		;; y
97
  dw 7          ;; y
96
  dw 4		;; x
98
  dw 4          ;; x
97
  dw 6		;; font.w
99
  dw 6          ;; font.w
98
  dw LIST_WIDTH ;; w
100
  dw LIST_WIDTH ;; w
99
  dd 0		;; mono
101
  dd 0          ;; mono
100
  dd 0		;; without bg
102
  dd 0          ;; without bg
101
  .color dd 0	;; text color
103
  .color dd 0   ;; text color
102
  dd 0		;; bg color
104
  dd 0          ;; bg color
103
  .txt dd 0	;; text
105
  .txt dd 0     ;; text
Line 104... Line 106...
104
  dd buffer2
106
  dd buffer2
105
  dd 0
107
  dd 0
Line 146... Line 148...
146
end if
148
end if
Line 147... Line 149...
147
 
149
 
148
 imports:
150
 imports:
149
    library libini, "libini.obj"
151
    library libini, "libini.obj"
150
    import  libini, libini.get_str, "ini_get_str", \
152
    import  libini, libini.get_str, "ini_get_str", \
151
		    libini.set_str, "ini_set_str", \
153
                    libini.set_str, "ini_set_str", \
152
		    libini.get_num, "ini_get_int", \
154
                    libini.get_num, "ini_get_int", \
Line 153... Line 155...
153
		    libini.for_each_section, "ini_enum_sections"
155
                    libini.for_each_section, "ini_enum_sections"
154
 
156
 
155
 imports_add:
157
 imports_add:
156
    library libimg, "libimg.obj", \
158
    library libimg, "libimg.obj", \
157
	    boxlib, "box_lib.obj", \
159
            boxlib, "box_lib.obj", \
158
	    prclib, "proc_lib.obj"
160
            prclib, "proc_lib.obj"
159
    import  libimg, libimg.init, "lib_init", \
161
    import  libimg, libimg.init, "lib_init", \
160
		    libimg.toRGB, "img_to_rgb2", \
162
                    libimg.toRGB, "img_to_rgb2", \
161
		    libimg.decode, "img_decode", \
163
                    libimg.decode, "img_decode", \
162
		    libimg.destroy, "img_destroy"
164
                    libimg.destroy, "img_destroy"
163
    import  boxlib, scrollbar.draw, "scrollbar_v_draw", \
165
    import  boxlib, scrollbar.draw, "scrollbar_v_draw", \
164
		    scrollbar.mouse, "scrollbar_v_mouse", \
166
                    scrollbar.mouse, "scrollbar_v_mouse", \
165
		    pathshow.init, "PathShow_prepare", \
167
                    pathshow.init, "PathShow_prepare", \
166
		    pathshow.draw, "PathShow_draw", \
168
                    pathshow.draw, "PathShow_draw", \
167
		    checkbox.init, "init_checkbox2", \
169
                    checkbox.init, "init_checkbox2", \
168
		    checkbox.draw, "check_box_draw2", \
170
                    checkbox.draw, "check_box_draw2", \
169
		    checkbox.mouse, "check_box_mouse2"
171
                    checkbox.mouse, "check_box_mouse2"
170
    import  prclib, opendialog.lib_init, "lib_init", \
172
    import  prclib, opendialog.lib_init, "lib_init", \
Line 171... Line 173...
171
		    opendialog.init, "OpenDialog_init", \
173
                    opendialog.init, "OpenDialog_init", \
Line 172... Line 174...
172
		    opendialog.start, "OpenDialog_start"
174
                    opendialog.start, "OpenDialog_start"
173
 
175
 
174
 ;===============================
176
 ;===============================
Line 175... Line 177...
175
 
177
 
176
 main:
178
 main:
177
    mcall   68, 11
179
    mcall   68, 11
Line 178... Line 180...
178
    stdcall dll.Load, imports
180
    stdcall dll.Load, imports
179
 
181
 
180
if DEBUG eq 1
182
if DEBUG eq 1
181
    stdcall string.copy, std_param, params
183
    stdcall string.copy, std_param, [M01header.params]
182
end if
184
end if
Line 183... Line 185...
183
 
185
 
184
 ;; trim params
186
 ;; trim params
185
	stdcall string.copy, params, paramorig
187
        stdcall string.copy, [M01header.params], paramorig
186
    stdcall string.trim_last, paramorig
188
    stdcall string.trim_last, paramorig
Line 187... Line 189...
187
    stdcall string.trim_first, paramorig
189
    stdcall string.trim_first, paramorig
188
	mov     [param_s], eax
190
        mov     [param_s], eax
Line 265... Line 267...
265
    jmp     exit
267
    jmp     exit
Line 266... Line 268...
266
 
268
 
Line 267... Line 269...
267
 ;----------------------
269
 ;----------------------
268
 
270
 
Line 269... Line 271...
269
 start_dialog_pre:
271
 start_dialog_pre:
270
    or	    [cb_always.flags], ch_flag_en
272
    or      [cb_always.flags], ch_flag_en
271
 
273
 
Line 297... Line 299...
297
 ;; get pathshow
299
 ;; get pathshow
298
    mov     eax, [param_s]
300
    mov     eax, [param_s]
299
    mov     ebx, [skin.work_text]
301
    mov     ebx, [skin.work_text]
300
    mov     [ps_addres.txt], eax
302
    mov     [ps_addres.txt], eax
301
    mov     [ps_addres], ebx
303
    mov     [ps_addres], ebx
302
	m2m     [ps_addres.color], [skin.work_text]
304
        m2m     [ps_addres.color], [skin.work_text]
303
    invoke  pathshow.init, ps_addres
305
    invoke  pathshow.init, ps_addres
Line 304... Line 306...
304
 
306
 
305
 ;; get checkbox
307
 ;; get checkbox
306
    mov     eax, 0xFFFfff
308
    mov     eax, 0xFFFfff
Line 582... Line 584...
582
    stdcall string.copy, app_link, buffer
584
    stdcall string.copy, app_link, buffer
583
    stdcall string.concatenate, [param_a], buffer
585
    stdcall string.concatenate, [param_a], buffer
584
  @@:
586
  @@:
Line 585... Line 587...
585
 
587
 
586
    stdcall string.length, buffer
588
    stdcall string.length, buffer
587
	mov     edi, eax
589
        mov     edi, eax
588
	
590
        
589
    invoke  libini.set_str, assoc_ini, assoc_ini.sec, [param_e], buffer, edi
591
    invoke  libini.set_str, assoc_ini, assoc_ini.sec, [param_e], buffer, edi
Line 590... Line 592...
590
    jmp     exit
592
    jmp     exit
Line 591... Line 593...
591
 
593
 
592
 ;----------------------
594
 ;----------------------
593
 
595
 
594
 event_mouse:
596
 event_mouse:
595
    invoke  checkbox.mouse, cb_always
597
    invoke  checkbox.mouse, cb_always
596
    mov     edi, [sb_apps.position]
598
    mov     edi, [sb_apps.position]
597
    invoke  scrollbar.mouse, sb_apps
599
    invoke  scrollbar.mouse, sb_apps
598
    sub     edi, [sb_apps.position]
600
    sub     edi, [sb_apps.position]
Line 599... Line 601...
599
    jz	    @f
601
    jz      @f
600
    call    draw_list
602
    call    draw_list
Line 674... Line 676...
674
 
676
 
675
 proc draw_window
677
 proc draw_window
Line 676... Line 678...
676
    mcall   12, 1
678
    mcall   12, 1
677
 
679
 
678
    mov     edx, [skin.work]
680
    mov     edx, [skin.work]
679
    or	    edx, 0x34 shl 24
681
    or      edx, 0x34 shl 24
680
    mcall   0, <[win.x], WIN_WIDTH>, <[win.y], WIN_HEIGHT>, , , win.title
682
    mcall   0, <[win.x], WIN_WIDTH>, <[win.y], WIN_HEIGHT>, , , win.title
681
    stdcall draw_list
683
    stdcall draw_list
Line 720... Line 722...
720
 
722
 
Line 721... Line 723...
721
 ;----------------------
723
 ;----------------------
722
 
724
 
723
 proc draw_list
725
 proc draw_list
724
    mcall   13, <3, LIST_WIDTH + 2 + 12>, <9 + 12, 1>, [skin.work_graph]
726
    mcall   13, <3, LIST_WIDTH + 2 + 12>, <9 + 12, 1>, [skin.work_graph]
725
    mcall     , 			, 
727
    mcall     ,                         , 
726
    mcall     , <3, 1>, <9 + 12, LIST_HEIGHT + 1>
728
    mcall     , <3, 1>, <9 + 12, LIST_HEIGHT + 1>
Line 727... Line 729...
727
    mcall     , <3 + LIST_WIDTH + 12 + 1, 1>
729
    mcall     , <3 + LIST_WIDTH + 12 + 1, 1>
Line 977... Line 979...
977
    sub     ecx, 32
979
    sub     ecx, 32
978
    add     ecx, list.lowercased
980
    add     ecx, list.lowercased
Line 979... Line 981...
979
 
981
 
980
 .loop1:
982
 .loop1:
981
    mov     edx, list.lowercased ;; j = 0
983
    mov     edx, list.lowercased ;; j = 0
982
    mov     esi, [list.size]	 ;; j < n - i - 1
984
    mov     esi, [list.size]     ;; j < n - i - 1
983
    sub     esi, edi
985
    sub     esi, edi
984
    dec     esi
986
    dec     esi
985
    imul    esi, 32
987
    imul    esi, 32
986
    add     esi, list.lowercased
988
    add     esi, list.lowercased
Line 1054... Line 1056...
1054
 buffer2 rb 2048 ;OD
1056
 buffer2 rb 2048 ;OD
1055
 buffer3 rb 2048 ;OD
1057
 buffer3 rb 2048 ;OD
1056
 buffer4 rb 2048 ;OD
1058
 buffer4 rb 2048 ;OD
1057
 buffer5 rb 2048 ;OD
1059
 buffer5 rb 2048 ;OD
1058
 buffer6 rb 2048 ;check existance
1060
 buffer6 rb 2048 ;check existance
1059
 buffer7 rb 32	 ;for sorting
1061
 buffer7 rb 32   ;for sorting
1060
 buffer8 rd 2048
1062
 buffer8 rd 2048
1061
 params rb 2048
-
 
1062
 paramorig rb 2048
1063
 paramorig rb 2048
1063
 _stack rb 2048
1064
 _stack rb 2048
-
 
1065
 params rb 256
1064
 memory:
1066
 memory: