Commit 9c700c9
committed
Add filter control abstractions for RmlUi Objects tab
Implements ComboBox, EditBox, and Label abstractions to make Object tab
filters (Type, Terrain, Wreck, Search) work in RmlUi mode.
Filter Control Abstractions (ui_controls.lua):
- FilterLabel() - text labels for filter UI
- FilterComboBox() - dropdown selectors for Type/Terrain/Wreck
- FilterEditBox() - search text input
- Mode-aware: creates RmlUi or Chili controls based on active mode
RmlUi Filter Controls (rmlui_field_compat.lua):
- RmlUiLabel - renders <span> with caption
- RmlUiComboBox - renders <select> with options
* Tracks selected index
* OnSelect callback support
* Select(itemIdx) method for programmatic changes
- RmlUiEditBox - renders <input type="text">
* OnTextInput and OnKeyPress callback support
* SetText() method for programmatic updates
- All generate HTML via GenerateRml() method
Editor Updates (editor.lua):
- _FinalizeRmlUi() collects filter controls from children array
- _FinalizeRmlUiNew() uses self.filterControls set by editor
- Both methods generate filter panel HTML
- Filters rendered between action buttons and grid/fields
ObjectDefsView Updates (object_defs_view.lua):
- UnitDefsView:MakeFilters() uses FilterLabel/FilterComboBox/FilterEditBox
- FeatureDefsView:MakeFilters() uses new abstractions
- Stores filters in self.filterControls for RmlUi rendering
- Full backward compatibility with Chili mode
View Event Binding (view.lua):
- BindFieldEvents() now handles filterControls array
- ComboBox: binds 'change' event, calls OnSelect with Chili signature
- EditBox: binds 'input' and 'keyup' events for OnTextInput/OnKeyPress
- Creates obj.text property for Chili API compatibility
CSS Styles (springboard.rcss):
- .filter-panel - flexbox layout with wrapping
- .filter-label - styled text labels
- .filter-combo - dropdown with hover/focus states
- .filter-edit - text input with hover/focus states
- Dark theme matching existing UI
This enables full filtering functionality in Objects tab RmlUi mode:
terrain type, unit type, wreck filters, and search.1 parent 7b58b89 commit 9c700c9
File tree
6 files changed
+277
-28
lines changed- scen_edit/view
- object
- rcss
6 files changed
+277
-28
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
810 | 810 | | |
811 | 811 | | |
812 | 812 | | |
813 | | - | |
| 813 | + | |
814 | 814 | | |
815 | 815 | | |
| 816 | + | |
816 | 817 | | |
817 | 818 | | |
818 | 819 | | |
819 | | - | |
820 | | - | |
821 | | - | |
822 | | - | |
823 | | - | |
824 | | - | |
825 | | - | |
826 | | - | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
827 | 842 | | |
828 | 843 | | |
829 | 844 | | |
| |||
839 | 854 | | |
840 | 855 | | |
841 | 856 | | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
842 | 869 | | |
843 | 870 | | |
844 | 871 | | |
| |||
892 | 919 | | |
893 | 920 | | |
894 | 921 | | |
895 | | - | |
896 | | - | |
| 922 | + | |
| 923 | + | |
897 | 924 | | |
898 | 925 | | |
899 | 926 | | |
| |||
903 | 930 | | |
904 | 931 | | |
905 | 932 | | |
| 933 | + | |
906 | 934 | | |
907 | 935 | | |
908 | 936 | | |
| |||
914 | 942 | | |
915 | 943 | | |
916 | 944 | | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
917 | 957 | | |
918 | 958 | | |
919 | 959 | | |
| |||
949 | 989 | | |
950 | 990 | | |
951 | 991 | | |
952 | | - | |
953 | | - | |
| 992 | + | |
| 993 | + | |
954 | 994 | | |
955 | 995 | | |
956 | 996 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
167 | 167 | | |
168 | 168 | | |
169 | 169 | | |
170 | | - | |
| 170 | + | |
171 | 171 | | |
| 172 | + | |
172 | 173 | | |
173 | 174 | | |
174 | 175 | | |
| |||
261 | 262 | | |
262 | 263 | | |
263 | 264 | | |
264 | | - | |
| 265 | + | |
265 | 266 | | |
266 | 267 | | |
267 | 268 | | |
268 | 269 | | |
269 | | - | |
| 270 | + | |
270 | 271 | | |
271 | 272 | | |
272 | 273 | | |
| |||
282 | 283 | | |
283 | 284 | | |
284 | 285 | | |
285 | | - | |
| 286 | + | |
286 | 287 | | |
287 | 288 | | |
288 | 289 | | |
289 | 290 | | |
290 | | - | |
| 291 | + | |
291 | 292 | | |
292 | 293 | | |
293 | 294 | | |
| |||
303 | 304 | | |
304 | 305 | | |
305 | 306 | | |
306 | | - | |
| 307 | + | |
307 | 308 | | |
308 | 309 | | |
309 | 310 | | |
310 | 311 | | |
311 | | - | |
| 312 | + | |
312 | 313 | | |
313 | 314 | | |
314 | 315 | | |
| |||
364 | 365 | | |
365 | 366 | | |
366 | 367 | | |
367 | | - | |
| 368 | + | |
368 | 369 | | |
369 | 370 | | |
370 | 371 | | |
371 | 372 | | |
372 | | - | |
| 373 | + | |
373 | 374 | | |
374 | 375 | | |
375 | 376 | | |
| |||
385 | 386 | | |
386 | 387 | | |
387 | 388 | | |
388 | | - | |
| 389 | + | |
389 | 390 | | |
390 | 391 | | |
391 | 392 | | |
392 | 393 | | |
393 | | - | |
| 394 | + | |
394 | 395 | | |
395 | 396 | | |
396 | 397 | | |
| |||
406 | 407 | | |
407 | 408 | | |
408 | 409 | | |
409 | | - | |
| 410 | + | |
410 | 411 | | |
411 | 412 | | |
412 | 413 | | |
413 | 414 | | |
414 | | - | |
| 415 | + | |
415 | 416 | | |
416 | 417 | | |
417 | 418 | | |
| |||
427 | 428 | | |
428 | 429 | | |
429 | 430 | | |
430 | | - | |
| 431 | + | |
431 | 432 | | |
432 | 433 | | |
433 | 434 | | |
434 | 435 | | |
435 | | - | |
| 436 | + | |
436 | 437 | | |
437 | 438 | | |
438 | 439 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
374 | 374 | | |
375 | 375 | | |
376 | 376 | | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
137 | 217 | | |
0 commit comments