#include <chunklst.h>
Inheritance diagram for Chunk_chooser:
Public Member Functions | |
Chunk_chooser (Vga_file *i, std::istream &cfile, unsigned char *palbuf, int w, int h, Shape_group *g=0) | |
virtual | ~Chunk_chooser () |
virtual bool | server_response (int id, unsigned char *data, int datalen) |
virtual void | end_terrain_editing () |
void | unselect (bool need_render=true) |
int | is_selected () |
void | set_selected_callback (void(*fun)()) |
int | get_count () |
void | enable_drop () |
void | locate (int dir) |
virtual void | locate (bool upwards) |
void | locate_response (unsigned char *data, int datalen) |
void | insert (bool dup) |
void | del () |
void | insert_response (unsigned char *data, int datalen) |
void | delete_response (unsigned char *data, int datalen) |
virtual void | move (bool upwards) |
void | swap_response (unsigned char *data, int datalen) |
Static Public Member Functions | |
static gint | configure (GtkWidget *widget, GdkEventConfigure *event, gpointer data) |
static gint | expose (GtkWidget *widget, GdkEventExpose *event, gpointer data) |
static gint | mouse_press (GtkWidget *widget, GdkEventButton *event, gpointer data) |
static void | drag_data_get (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *data, guint info, guint time, gpointer data) |
static gint | selection_clear (GtkWidget *widget, GdkEventSelection *event, gpointer data) |
static gint | drag_begin (GtkWidget *widget, GdkDragContext *context, gpointer data) |
static void | drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time, gpointer udata) |
static void | scrolled (GtkAdjustment *adj, gpointer data) |
static gint | drag_motion (GtkWidget *widget, GdkEventMotion *event, gpointer data) |
Private Member Functions | |
virtual void | show (int x, int y, int w, int h) |
virtual void | show () |
void | tell_server () |
void | select (int new_sel) |
virtual void | render () |
virtual void | set_background_color (guint32 c) |
virtual int | get_selected_id () |
unsigned char * | get_chunk (int chunknum) |
void | update_num_chunks (int new_num_chunks) |
void | set_chunk (unsigned char *data, int datalen) |
void | render_chunk (int chunknum, int xoff, int yoff) |
void | scroll (int newindex) |
void | scroll (bool upwards) |
void | enable_controls () |
virtual GtkWidget * | create_popup () |
Private Attributes | |
std::istream & | chunkfile |
GtkWidget * | sbar |
guint | sbar_sel |
int | num_chunks |
std::vector< unsigned char * > | chunklist |
Chunk_info * | info |
int | info_cnt |
int | locate_cx |
int | locate_cy |
bool | drop_enabled |
int | to_del |
void(* | sel_changed )() |
Definition at line 56 of file chunklst.h.
Chunk_chooser::Chunk_chooser | ( | Vga_file * | i, | |
std::istream & | cfile, | |||
unsigned char * | palbuf, | |||
int | w, | |||
int | h, | |||
Shape_group * | g = 0 | |||
) |
Definition at line 804 of file chunklst.cc.
References c_tiles_per_chunk, Ucscript::frame, and Mouse_release().
Here is the call graph for this function:
Chunk_chooser::~Chunk_chooser | ( | ) | [virtual] |
Definition at line 901 of file chunklst.cc.
void Chunk_chooser::show | ( | int | x, | |
int | y, | |||
int | w, | |||
int | h | |||
) | [private, virtual] |
Implements Object_browser.
Definition at line 64 of file chunklst.cc.
References Rectangle::h, Exult_server::info, Shape_draw::show(), Rectangle::w, Rectangle::x, and Rectangle::y.
Referenced by expose(), and mouse_press().
Here is the call graph for this function:
virtual void Chunk_chooser::show | ( | ) | [inline, private, virtual] |
void Chunk_chooser::tell_server | ( | ) | [private] |
Definition at line 83 of file chunklst.cc.
References ExultStudio::get_instance(), Exult_server::info, Exult_server::maxlength, ExultStudio::send_to_server(), Exult_server::set_edit_chunknum, and Write2().
Here is the call graph for this function:
void Chunk_chooser::select | ( | int | new_sel | ) | [private] |
void Chunk_chooser::render | ( | ) | [private, virtual] |
Implements Object_browser.
Definition at line 124 of file chunklst.cc.
References border, and Exult_server::info.
Referenced by configure(), drag_data_received(), and mouse_press().
virtual void Chunk_chooser::set_background_color | ( | guint32 | c | ) | [inline, private, virtual] |
Reimplemented from Object_browser.
Definition at line 79 of file chunklst.h.
References Shape_draw::set_background_color().
Here is the call graph for this function:
virtual int Chunk_chooser::get_selected_id | ( | ) | [inline, private, virtual] |
Reimplemented from Object_browser.
Definition at line 81 of file chunklst.h.
References info, Chunk_info::num, and Object_browser::selected.
unsigned char * Chunk_chooser::get_chunk | ( | int | chunknum | ) | [private] |
Definition at line 181 of file chunklst.cc.
References ExultStudio::get_instance(), ExultStudio::get_server_socket(), Exult_server::maxlength, Read2(), Exult_server::Receive_data(), Exult_server::send_terrain, ExultStudio::send_to_server(), Exult_server::wait_for_response(), and Write2().
Here is the call graph for this function:
void Chunk_chooser::update_num_chunks | ( | int | new_num_chunks | ) | [private] |
Definition at line 225 of file chunklst.cc.
void Chunk_chooser::set_chunk | ( | unsigned char * | data, | |
int | datalen | |||
) | [private] |
Definition at line 243 of file chunklst.cc.
References Read2().
Here is the call graph for this function:
void Chunk_chooser::render_chunk | ( | int | chunknum, | |
int | xoff, | |||
int | yoff | |||
) | [private] |
void Chunk_chooser::scroll | ( | int | newindex | ) | [private] |
void Chunk_chooser::scroll | ( | bool | upwards | ) | [private] |
Definition at line 680 of file chunklst.cc.
void Chunk_chooser::enable_controls | ( | ) | [private] |
Definition at line 714 of file chunklst.cc.
GtkWidget * Chunk_chooser::create_popup | ( | ) | [private, virtual] |
Reimplemented from Object_browser.
Definition at line 777 of file chunklst.cc.
References EStudio::Add_menu_item(), Object_browser::create_popup(), ExultStudio::get_instance(), on_delete(), on_insert_dup(), and on_insert_empty().
Referenced by mouse_press().
Here is the call graph for this function:
bool Chunk_chooser::server_response | ( | int | id, | |
unsigned char * | data, | |||
int | datalen | |||
) | [virtual] |
Reimplemented from Object_browser.
Definition at line 918 of file chunklst.cc.
References Exult_server::delete_terrain, Exult_server::insert_terrain, Exult_server::locate_terrain, Exult_server::send_terrain, and Exult_server::swap_terrain.
void Chunk_chooser::end_terrain_editing | ( | ) | [virtual] |
void Chunk_chooser::unselect | ( | bool | need_render = true |
) |
int Chunk_chooser::is_selected | ( | ) | [inline] |
void Chunk_chooser::set_selected_callback | ( | void(*)() | fun | ) | [inline] |
int Chunk_chooser::get_count | ( | ) |
Definition at line 308 of file chunklst.cc.
gint Chunk_chooser::configure | ( | GtkWidget * | widget, | |
GdkEventConfigure * | event, | |||
gpointer | data | |||
) | [static] |
Definition at line 319 of file chunklst.cc.
References border, enable_drop(), Object_browser::group, render(), and Object_browser::vscroll.
Here is the call graph for this function:
gint Chunk_chooser::expose | ( | GtkWidget * | widget, | |
GdkEventExpose * | event, | |||
gpointer | data | |||
) | [static] |
Definition at line 351 of file chunklst.cc.
References show().
Here is the call graph for this function:
gint Chunk_chooser::mouse_press | ( | GtkWidget * | widget, | |
GdkEventButton * | event, | |||
gpointer | data | |||
) | [static] |
Definition at line 427 of file chunklst.cc.
References Chunk_info::box, create_popup(), Rectangle::has_point(), info, info_cnt, locate_cx, locate_cy, render(), scroll(), sel_changed, Object_browser::selected, show(), and unselect().
Here is the call graph for this function:
void Chunk_chooser::drag_data_get | ( | GtkWidget * | widget, | |
GdkDragContext * | context, | |||
GtkSelectionData * | data, | |||
guint | info, | |||
guint | time, | |||
gpointer | data | |||
) | [static] |
Definition at line 497 of file chunklst.cc.
References info, len, Chunk_info::num, Object_browser::selected, Store_u7_chunkid(), U7_TARGET_CHUNKID, and U7_TARGET_CHUNKID_NAME.
Here is the call graph for this function:
gint Chunk_chooser::selection_clear | ( | GtkWidget * | widget, | |
GdkEventSelection * | event, | |||
gpointer | data | |||
) | [static] |
Definition at line 533 of file chunklst.cc.
gint Chunk_chooser::drag_begin | ( | GtkWidget * | widget, | |
GdkDragContext * | context, | |||
gpointer | data | |||
) | [static] |
Definition at line 549 of file chunklst.cc.
References Shape_draw::drawgc, Image_buffer8::fill8(), Image_buffer::get_bits(), Image_buffer::get_line_width(), Shape_draw::ifile, info, Shape_draw::palette, and Object_browser::selected.
Here is the call graph for this function:
void Chunk_chooser::drag_data_received | ( | GtkWidget * | widget, | |
GdkDragContext * | context, | |||
gint | x, | |||
gint | y, | |||
GtkSelectionData * | selection_data, | |||
guint | info, | |||
guint | time, | |||
gpointer | udata | |||
) | [static] |
Reimplemented from Shape_draw.
Definition at line 608 of file chunklst.cc.
References Shape_group::add(), Get_u7_chunkid(), Object_browser::group, render(), and U7_TARGET_CHUNKID_NAME.
Here is the call graph for this function:
void Chunk_chooser::enable_drop | ( | ) |
Definition at line 637 of file chunklst.cc.
References U7_TARGET_CHUNKID, and U7_TARGET_CHUNKID_NAME.
Referenced by configure().
void Chunk_chooser::scrolled | ( | GtkAdjustment * | adj, | |
gpointer | data | |||
) | [static] |
Definition at line 698 of file chunklst.cc.
References scroll().
Here is the call graph for this function:
void Chunk_chooser::locate | ( | int | dir | ) |
Definition at line 1004 of file chunklst.cc.
References ExultStudio::get_instance(), Exult_server::locate_terrain, Exult_server::maxlength, ExultStudio::send_to_server(), and Write2().
Here is the call graph for this function:
void Chunk_chooser::locate | ( | bool | upwards | ) | [virtual] |
void Chunk_chooser::locate_response | ( | unsigned char * | data, | |
int | datalen | |||
) |
Definition at line 1044 of file chunklst.cc.
References EStudio::Alert(), Exult_server::delete_terrain, ExultStudio::get_instance(), Exult_server::maxlength, Read2(), ExultStudio::send_to_server(), and Write2().
Here is the call graph for this function:
void Chunk_chooser::insert | ( | bool | dup | ) |
Definition at line 1088 of file chunklst.cc.
References ExultStudio::get_instance(), Exult_server::insert_terrain, Exult_server::maxlength, ExultStudio::send_to_server(), and Write2().
Referenced by on_insert_dup(), and on_insert_empty().
Here is the call graph for this function:
void Chunk_chooser::del | ( | ) |
void Chunk_chooser::insert_response | ( | unsigned char * | data, | |
int | datalen | |||
) |
Definition at line 1123 of file chunklst.cc.
References EStudio::Alert(), and Read2().
Here is the call graph for this function:
void Chunk_chooser::delete_response | ( | unsigned char * | data, | |
int | datalen | |||
) |
Definition at line 1156 of file chunklst.cc.
References EStudio::Alert(), and Read2().
Here is the call graph for this function:
void Chunk_chooser::move | ( | bool | upwards | ) | [virtual] |
Reimplemented from Object_browser.
Definition at line 1181 of file chunklst.cc.
References ExultStudio::get_instance(), Exult_server::maxlength, ExultStudio::send_to_server(), Exult_server::swap_terrain, and Write2().
Here is the call graph for this function:
void Chunk_chooser::swap_response | ( | unsigned char * | data, | |
int | datalen | |||
) |
Definition at line 1205 of file chunklst.cc.
References Read2().
Here is the call graph for this function:
gint Chunk_chooser::drag_motion | ( | GtkWidget * | widget, | |
GdkEventMotion * | event, | |||
gpointer | data | |||
) | [static] |
Definition at line 412 of file chunklst.cc.
References Shape_draw::dragging, Object_browser::selected, Shape_draw::start_drag(), U7_TARGET_CHUNKID, and U7_TARGET_CHUNKID_NAME.
Here is the call graph for this function:
std::istream& Chunk_chooser::chunkfile [private] |
Definition at line 58 of file chunklst.h.
GtkWidget* Chunk_chooser::sbar [private] |
Definition at line 60 of file chunklst.h.
guint Chunk_chooser::sbar_sel [private] |
Definition at line 61 of file chunklst.h.
int Chunk_chooser::num_chunks [private] |
Definition at line 62 of file chunklst.h.
std::vector<unsigned char *> Chunk_chooser::chunklist [private] |
Definition at line 64 of file chunklst.h.
Chunk_info* Chunk_chooser::info [private] |
Definition at line 65 of file chunklst.h.
Referenced by drag_begin(), drag_data_get(), get_selected_id(), and mouse_press().
int Chunk_chooser::info_cnt [private] |
int Chunk_chooser::locate_cx [private] |
int Chunk_chooser::locate_cy [private] |
bool Chunk_chooser::drop_enabled [private] |
Definition at line 68 of file chunklst.h.
int Chunk_chooser::to_del [private] |
Definition at line 69 of file chunklst.h.
void(* Chunk_chooser::sel_changed)() [private] |
Referenced by mouse_press(), and set_selected_callback().