Rev 6582 | Rev 7465 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6582 | nisargshah | 1 | SYS_COL = 0xe6e6e6 |
2 | BT_COL = 0xcccccc |
||
3 | STR_COL = 0x595959 ;0x000000 |
||
4 | |||
7464 | leency | 5 | WIN_X = 320 |
6 | WIN_Y = 300 |
||
7 | WIN_W = 390 |
||
8 | WIN_H = 230 |
||
9 | |||
10 | pad = 28 ; padding between editboxes |
||
11 | |||
6582 | nisargshah | 12 | ;;================================================================================================;; |
13 | login_gui: ;//////////////////////////////////////////////////////////////////////////////////////;; |
||
14 | ;;------------------------------------------------------------------------------------------------;; |
||
15 | ;? Login GUI-specific functions ;; |
||
16 | ;;------------------------------------------------------------------------------------------------;; |
||
17 | ;> none ;; |
||
18 | ;;------------------------------------------------------------------------------------------------;; |
||
19 | ;< none ;; |
||
20 | ;;================================================================================================;; |
||
21 | |||
22 | ; TODO: print error strings (wrong user, pass, etc.) |
||
23 | |||
24 | .server_addr: |
||
25 | mov [initial_login], 1 |
||
26 | |||
27 | .get_username: |
||
28 | ; in case of error when either login_gui.server_addr or |
||
29 | ; login_gui.get_username is called, should resize window |
||
7464 | leency | 30 | mcall 67, WIN_X, WIN_Y, WIN_W, WIN_H ; resize to login gui window size |
6582 | nisargshah | 31 | |
32 | .redraw: |
||
33 | call .draw |
||
34 | jmp .still |
||
35 | |||
36 | |||
37 | align 4 |
||
38 | .draw: |
||
39 | mcall 12, 1 |
||
7464 | leency | 40 | mcall 0, |
6582 | nisargshah | 41 | |
42 | stdcall [edit_box_draw], edit_usr |
||
43 | stdcall [edit_box_draw], edit_pass |
||
44 | stdcall [edit_box_draw], edit_server |
||
45 | stdcall [edit_box_draw], edit_port |
||
46 | stdcall [edit_box_draw], edit_path |
||
47 | |||
48 | ; draw "connect" button |
||
7464 | leency | 49 | mcall 8, <162,65>, <150,25>, 2, BT_COL |
6582 | nisargshah | 50 | |
51 | ; draw strings |
||
7464 | leency | 52 | mcall 4, <3, 8>, 0xb0000000, gui_str_usr |
53 | mcall , <3,pad*1+8>, , gui_str_pass |
||
54 | mcall , <3,pad*2+8>, , gui_str_server |
||
55 | mcall , <3,pad*3+8>, , gui_str_port |
||
56 | mcall , <3,pad*4+8>, , gui_str_path |
||
57 | mcall , <167,155>, 0xb0000000+STR_COL, gui_str_connect |
||
58 | mcall , <3,115>, 0xb0ff0000, [str_error_addr] |
||
6582 | nisargshah | 59 | mov [str_error_addr], gui_str_null ; reset error string address |
60 | |||
61 | mcall 12, 2 |
||
62 | ret |
||
63 | |||
64 | align 4 |
||
65 | .still: |
||
66 | mcall 10 ; wait for event |
||
67 | dec eax |
||
68 | jz .redraw |
||
69 | dec eax |
||
70 | jz .key |
||
71 | dec eax |
||
72 | jz .button |
||
73 | |||
74 | stdcall [edit_box_mouse], edit_usr |
||
75 | stdcall [edit_box_mouse], edit_pass |
||
76 | stdcall [edit_box_mouse], edit_server |
||
77 | stdcall [edit_box_mouse], edit_port |
||
78 | stdcall [edit_box_mouse], edit_path |
||
79 | |||
80 | jmp .still |
||
81 | |||
82 | .button: |
||
83 | mcall 17 |
||
84 | |||
85 | dec ah |
||
86 | jz .exit |
||
87 | |||
88 | dec ah ; 'Connect' button clicked |
||
89 | jz gui.main |
||
90 | |||
91 | jmp .still |
||
92 | |||
93 | .key: |
||
94 | mcall 2 |
||
95 | |||
7464 | leency | 96 | cmp ah,13 |
97 | je gui.main |
||
98 | |||
99 | cmp ah,9 |
||
100 | je .tab |
||
101 | |||
6582 | nisargshah | 102 | stdcall [edit_box_key], edit_usr |
103 | stdcall [edit_box_key], edit_pass |
||
104 | stdcall [edit_box_key], edit_server |
||
105 | stdcall [edit_box_key], edit_port |
||
106 | stdcall [edit_box_key], edit_path |
||
107 | |||
108 | jmp .still |
||
109 | |||
110 | .error: |
||
111 | mov [str_error_addr], gui_str_error |
||
112 | jmp .server_addr |
||
113 | |||
114 | .exit: |
||
115 | jmp gui.exit |
||
116 | |||
7464 | leency | 117 | .tab: |
118 | ;TODO |
||
119 | jmp .still |
||
6582 | nisargshah | 120 | |
7464 | leency | 121 | |
6582 | nisargshah | 122 | gui_str_connect db 'Connect',0 |
123 | gui_str_usr db 'Username:',0 |
||
124 | gui_str_pass db 'Password:',0 |
||
125 | gui_str_server db 'Server:',0 |
||
126 | gui_str_port db 'Port:',0 |
||
127 | gui_str_path db 'Path:',0 |
||
128 | gui_str_error db 'ERROR! Check log file for details',0 |
||
129 | gui_str_null db ' ',0 |
||
130 | |||
131 | str_error_addr dd gui_str_null |
||
132 | |||
133 | ; login window components |
||
7464 | leency | 134 | edit_usr edit_box 300,75,5, 0xffffff,0x94AECE,0,0xAABBCC,0x10000000,99,param_user,mouse_dd,ed_focus |
135 | edit_pass edit_box 300,75,pad+5, 0xffffff,0x94AECE,0,0xAABBCC,0x10000000,99,param_password,mouse_dd,ed_pass |
||
136 | edit_server edit_box 300,75,pad*2+5,0xffffff,0x94AECE,0,0xAABBCC,0x10000000,99,param_server_addr,mouse_dd,0 |
||
137 | edit_port edit_box 50, 75,pad*3+5,0xffffff,0x94AECE,0,0xAABBCC,0x10000000,99,param_port,mouse_dd,ed_figure_only |
||
138 | edit_path edit_box 300,75,pad*4+5,0xffffff,0x94AECE,0,0xAABBCC,0x10000000,99,param_path,mouse_dd,0 |
||
6582 | nisargshah | 139 | |
140 | mouse_dd rd 13,115>167,155>3,pad*4+8>3,pad*3+8>3,pad*2+8>3,pad*1+8>3,>150,25>162,65>> |