]> icculus.org git repositories - divverent/nexuiz.git/blob - scmenu/source/todo
-Added the control item Item_List (to be used later in conjunction with the
[divverent/nexuiz.git] / scmenu / source / todo
1 // Todo list
2
3 *-Rename Item_Composition and make it not embedded by default
4 *-Add support for a MOUSECLIP flag which will make the menu not pass any mouse events to the items under it
5 *-Move the normal key function somewhere else perhaps??
6 *--Write a test menu ^^
7 --Unroll as menu recursive functions as possible
8 f-Remove this bloody RUNFLAG_SPAWNED again
9 *-Only spawn an item once(even if its tried to spawn it multiple times)
10 -Think about the layout alignment and improve it
11 *-Calculate the clip sizes and positions only once in PROCESS_RUNFLAG
12 --Rewrite *all* controls and the event handler to have the origin change before the current event function
13 -Add #enum and #enumflags to the parser
14 -Add effect support to all bloody items, use fixed names - if non existent ignore - change Menu_GetItem to a non-erroring version for this
15 -Add extended # commands like #add or #and, #complement, etc.
16 -Rewrite isframe to allow automation to create a good amount of new items
17 *-Clip the Item_DataLink_Value value strings (so it contains e.g. 1.45 instead of 1.450000)
18 *-Make all datalinks route all ITEM_DATA events
19 -Make FLOATING window clip its movement to the parent window's size so you cant hide it this way
20 -Fix orderPos in LinkChildren
21 *-Add a slist subsystem to base!
22 -Do a big naming check to smooth things out
23 -Move the _menu_process stuff somewhere else
24 s-Only call the mouse event when the position has been changed - since all changes happens then
25 -Perhaps make the RUNFLAGs be reset every frame for all items?
26 -Spend some time writing docs for the API - preferably at http://wiki.quakesrc.org :/
27 -Write a parser readme file explaining every tiny, little bit of it
28 /-Add effects items/classes
29 /-Rewrite isframe
30 /-Think about when to support ctcalls and when not
31 //-Add full support for the template idea or remove it
32 ?s-Make altstring and property conform with the new string param rules
33 ?s-Make the Data items support runtime changes, too
34 ?-Restructurize the controls
35 f-Add some kind of overlay control
36 f-Remove TokenType
37 f-Remove support for cliparea '0 0 0'-'0 0 0' => whole plane
38 s-Add a color and alpha stack to mgfx
39 s-Add a current namespace global that builds the current namespace from the parent lists
40 s-Add the abstract Item Item_Selectable
41 s-Remove all ctcall, customizeable events
42
43 *-Add ._runflags to system/item.qc - which will be used to determine visibility, etc. of items
44 *-Add MENU_PROCESS_KEY to Menu_ProcessEvent
45 *-Add MENU_PROCESS_RUNFLAG
46 *-Add RUNFLAG_CLIPPED, so we can select items that arent visible (but arent hidden intentionally as well -> scrollwindows)
47 *-Add a .userselect event  (Toddd)
48 *-Add a multiline label item class
49 *-Add a real #include to the parser
50 *-Add a scmenu_debug_process_filter cvar (only displays information on a specific process run)
51 *-Add a select event instead of userselect
52 *-Add a system controlled destruction of items similar to the NG Menu's system
53 *-Add direction tokens to Menu_GetItem
54 *-Add layout classes
55 *-Add more output to the parser (perhaps also a debug mode)
56 *-Finish the goddamn design
57 *-Finish the structure debug output
58 *-Finish this darn #include support!!
59 *-Fix the _FLAG_MOUSEINAREA bug: if the flag is set and the item is hidden somehow, it wont be unset
60 *-Fix the init function calling the spawn function for templates, too
61 *-Fix this strange clipping bug (items plop out of the void instead of shifting slowly in)
62 *-Implement an embedded window perhaps
63 *-Make FLAG_DRAWONLY and FLAG_DRAWUPDATEONLY only affect the parent item
64 *-Merge as many of the debug functions (especially clientarea and parentarea)
65 *-Move as many constants as possible to constants.menu
66 *-Remove Item_Init - its poison to deriving classes
67 *-Rename .refresh to .update and change all constants, too
68 *-Rename Spawn_ to _Spawn perhaps??
69 *-Rename link to target in the DataUser class
70 *-Rewrite _menu_* to use the normal stack instead of an altstring stack
71 *-Rewrite all controls
72 *-Rewrite all gfx functions to reuse the params for conversions, etc.
73 *-Update scmenu_debug_parser to also support tokens instead of pure floats