aboutsummaryrefslogtreecommitdiff
ModeNameSize
-rw-r--r--.gitignore58logplain
d---------advtrains1179logplain
d---------advtrains_interlocking268logplain
d---------advtrains_itrainmap110logplain
d---------advtrains_luaautomation614logplain
d---------advtrains_signals_ks104logplain
d---------advtrains_train_industrial209logplain
d---------advtrains_train_japan209logplain
d---------advtrains_train_steam251logplain
d---------advtrains_train_subway209logplain
d---------advtrains_train_track143logplain
d---------assets1392logplain
-rw-r--r--atc_command.txt3319logplain
-rw-r--r--description.txt145logplain
-rw-r--r--license.txt23977logplain
-rw-r--r--license_media.txt20744logplain
-rw-r--r--manual.pdf801491logplain
-rw-r--r--modpack.txt0logplain
-rw-r--r--privilege_guide.txt1518logplain
-rw-r--r--readme.txt1264logplain
-rw-r--r--screenshot.png809738logplain
s="hl opt">{ } ListDrawSpec(const InventoryLocation &a_inventoryloc, const std::string &a_listname, v2s32 a_pos, v2s32 a_geom) { inventoryloc = a_inventoryloc; listname = a_listname; pos = a_pos; geom = a_geom; } InventoryLocation inventoryloc; std::string listname; v2s32 pos; v2s32 geom; }; public: struct DrawSpec { DrawSpec() { } DrawSpec(const std::string &a_type, const InventoryLocation &a_name, const std::string &a_subname, v2s32 a_pos, v2s32 a_geom) { type = a_type; name = a_name; subname = a_subname; pos = a_pos; geom = a_geom; } std::string type; InventoryLocation name; std::string subname; v2s32 pos; v2s32 geom; }; // See .cpp for format static v2s16 makeDrawSpecArrayFromString( core::array<GUIInventoryMenu::DrawSpec> &draw_spec, const std::string &data, const InventoryLocation &current_location); GUIInventoryMenu(gui::IGUIEnvironment* env, gui::IGUIElement* parent, s32 id, IMenuManager *menumgr, v2s16 menu_size, InventoryManager *invmgr, IGameDef *gamedef ); ~GUIInventoryMenu(); void setDrawSpec(core::array<DrawSpec> &init_draw_spec) { m_init_draw_spec = init_draw_spec; } void removeChildren(); /* Remove and re-add (or reposition) stuff */ void regenerateGui(v2u32 screensize); ItemSpec getItemAtPos(v2s32 p) const; void drawList(const ListDrawSpec &s, int phase); void drawSelectedItem(); void drawMenu(); void updateSelectedItem(); bool OnEvent(const SEvent& event); protected: v2s32 getBasePos() const { return padding + AbsoluteRect.UpperLeftCorner; } v2s16 m_menu_size; v2s32 padding; v2s32 spacing; v2s32 imgsize; InventoryManager *m_invmgr; IGameDef *m_gamedef; core::array<DrawSpec> m_init_draw_spec; core::array<ListDrawSpec> m_draw_spec; ItemSpec *m_selected_item; u32 m_selected_amount; bool m_selected_dragging; v2s32 m_pointer; gui::IGUIStaticText *m_tooltip_element; }; #endif