2018-03-24 21:43:57 +00:00
|
|
|
/*
|
|
|
|
* Mr. 4th Dimention - Allen Webster
|
|
|
|
*
|
|
|
|
* 24.03.2018
|
|
|
|
*
|
|
|
|
* Working_Set data structure
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
// TOP
|
|
|
|
|
|
|
|
#if !defined(FRED_WORKING_SET_H)
|
|
|
|
#define FRED_WORKING_SET_H
|
|
|
|
|
2019-08-12 09:16:04 +00:00
|
|
|
struct Working_Set{
|
|
|
|
Arena arena;
|
|
|
|
|
|
|
|
Editing_File *free_files;
|
|
|
|
Buffer_ID id_counter;
|
|
|
|
|
|
|
|
Node active_file_sentinel;
|
|
|
|
i32 active_file_count;
|
|
|
|
|
|
|
|
Node edit_finished_sentinel;
|
|
|
|
i32 edit_finished_count;
|
|
|
|
u64 time_of_next_edit_finished_signal;
|
|
|
|
Plat_Handle edit_finished_timer;
|
|
|
|
b32 do_not_mark_edits;
|
|
|
|
|
|
|
|
Table_u64_u64 id_to_ptr_table;
|
|
|
|
Table_Data_u64 canon_table;
|
|
|
|
Table_Data_u64 name_table;
|
|
|
|
|
|
|
|
// TODO(allen): do(update clipboard system to exist fully in the custom layer)
|
|
|
|
String_Const_u8 clipboards[64];
|
|
|
|
i32 clipboard_size;
|
|
|
|
i32 clipboard_max_size;
|
|
|
|
i32 clipboard_current;
|
|
|
|
i32 clipboard_rolling;
|
|
|
|
|
|
|
|
i32 default_display_width;
|
|
|
|
i32 default_minimum_base_display_width;
|
2018-03-24 21:43:57 +00:00
|
|
|
};
|
|
|
|
|
2019-08-12 09:16:04 +00:00
|
|
|
#if 0
|
2018-03-24 21:43:57 +00:00
|
|
|
struct Working_Set{
|
|
|
|
File_Array *file_arrays;
|
2019-02-04 01:33:44 +00:00
|
|
|
i32 file_count;
|
|
|
|
i32 file_max;
|
|
|
|
i16 array_count;
|
|
|
|
i16 array_max;
|
2018-03-24 21:43:57 +00:00
|
|
|
|
2019-01-31 12:38:24 +00:00
|
|
|
Node free_sentinel;
|
|
|
|
Node used_sentinel;
|
|
|
|
|
2019-06-01 23:58:28 +00:00
|
|
|
Node *edit_finished_list_first;
|
|
|
|
Node *edit_finished_list_last;
|
|
|
|
i32 edit_finished_count;
|
|
|
|
|
2019-02-04 01:33:44 +00:00
|
|
|
u64 time_of_next_edit_finished_signal;
|
|
|
|
Plat_Handle edit_finished_timer;
|
|
|
|
b32 do_not_mark_edits;
|
2018-03-24 21:43:57 +00:00
|
|
|
|
2019-07-13 00:43:17 +00:00
|
|
|
Table_Data_u64 canon_table;
|
|
|
|
Table_Data_u64 name_table;
|
2018-03-24 21:43:57 +00:00
|
|
|
|
2019-02-04 01:33:44 +00:00
|
|
|
// TODO(allen): do(update clipboard system to exist fully in the custom layer)
|
2019-06-01 23:58:28 +00:00
|
|
|
String_Const_u8 clipboards[64];
|
2019-01-31 12:38:24 +00:00
|
|
|
i32 clipboard_size;
|
|
|
|
i32 clipboard_max_size;
|
|
|
|
i32 clipboard_current;
|
|
|
|
i32 clipboard_rolling;
|
2018-03-24 21:43:57 +00:00
|
|
|
|
|
|
|
i32 default_display_width;
|
|
|
|
i32 default_minimum_base_display_width;
|
|
|
|
};
|
2019-08-12 09:16:04 +00:00
|
|
|
#endif
|
2018-03-24 21:43:57 +00:00
|
|
|
|
2019-01-31 12:38:24 +00:00
|
|
|
internal void
|
2019-02-04 01:33:44 +00:00
|
|
|
file_mark_edit_finished(Working_Set *working_set, Editing_File *file);
|
2019-01-31 12:38:24 +00:00
|
|
|
|
2019-02-12 10:21:02 +00:00
|
|
|
internal b32
|
2019-06-01 23:58:28 +00:00
|
|
|
file_unmark_edit_finished(Working_Set *working_set, Editing_File *file);
|
2019-02-12 10:21:02 +00:00
|
|
|
|
2018-03-24 21:43:57 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
// BOTTOM
|
|
|
|
|