CL_ListView::CL_ListView(CL_GUIComponent *parent) : CL_GUIComponent(parent), impl(new CL_ListView_Impl) { set_type_name("listview"); set_focus_policy(focus_local); impl->listview = this; impl->renderer = new CL_ListViewRenderer(this); impl->renderer->create_parts(); impl->renderer->set_icon_list(impl->icon_list); impl->create_components(); func_process_message().set(impl.get(), &CL_ListView_Impl::on_process_message); func_render().set(impl.get(), &CL_ListView_Impl::on_render); func_resized().set(impl.get(), &CL_ListView_Impl::on_resized); func_style_changed().set(impl.get(), &CL_ListView_Impl::on_style_changed); impl->document_item.impl->func_item_added.set(impl.get(), &CL_ListView_Impl::on_item_added); impl->document_item.impl->func_item_modified.set(impl.get(), &CL_ListView_Impl::on_item_modified); impl->document_item.impl->func_item_deleted.set(impl.get(), &CL_ListView_Impl::on_item_deleted); impl->create_parts(); set_display_mode(listview_mode_details); // impl->update_part_positions(); }
void ZDisplay::resize(int width, int height) { ZDisplayMode mode = _display_mode; mode.width = width; mode.height = height; set_display_mode(mode); }
void video_menu(void) { MENUITEM_STRINGLIST(smenu, "Video", NULL, "Display Size", "Frameskip"); switch(rb->do_menu(&smenu, NULL, NULL, false)) { case 0: set_display_mode(); break; case 1: set_frameskip(); break; default: break; } }
void EditorFileDialog::_notification(int p_what) { if (p_what==NOTIFICATION_ENTER_TREE) { mode_thumbnails->set_icon(get_icon("FileThumbnail","EditorIcons")); mode_list->set_icon(get_icon("FileList","EditorIcons")); dir_prev->set_icon(get_icon("ArrowLeft","EditorIcons")); dir_next->set_icon(get_icon("ArrowRight","EditorIcons")); dir_up->set_icon(get_icon("ArrowUp","EditorIcons")); refresh->set_icon(get_icon("Reload","EditorIcons")); favorite->set_icon(get_icon("Favorites","EditorIcons")); fav_up->set_icon(get_icon("MoveUp","EditorIcons")); fav_down->set_icon(get_icon("MoveDown","EditorIcons")); fav_rm->set_icon(get_icon("RemoveSmall","EditorIcons")); } else if (p_what==NOTIFICATION_PROCESS) { if (preview_waiting) { preview_wheel_timeout-=get_process_delta_time(); if (preview_wheel_timeout<=0) { preview_wheel_index++; if (preview_wheel_index>=8) preview_wheel_index=0; Ref<Texture> frame = get_icon("WaitPreview"+itos(preview_wheel_index+1),"EditorIcons"); preview->set_texture(frame); preview_wheel_timeout=0.1; } } } else if (p_what==NOTIFICATION_DRAW) { //RID ci = get_canvas_item(); //get_stylebox("panel","PopupMenu")->draw(ci,Rect2(Point2(),get_size())); } else if (p_what==NOTIFICATION_POPUP_HIDE) { set_process_unhandled_input(false); } else if (p_what==EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) { bool show_hidden=EditorSettings::get_singleton()->get("file_dialog/show_hidden_files"); if (show_hidden_files!=show_hidden) set_show_hidden_files(show_hidden); set_display_mode((DisplayMode)EditorSettings::get_singleton()->get("file_dialog/display_mode").operator int()); } }
void EditorFileDialog::_unhandled_input(const InputEvent& p_event) { if (p_event.type==InputEvent::KEY && is_window_modal_on_top()) { if (p_event.key.pressed) { bool handled=false; if (ED_IS_SHORTCUT("file_dialog/go_back", p_event)) { _go_back(); handled=true; } if (ED_IS_SHORTCUT("file_dialog/go_forward", p_event)) { _go_forward(); handled=true; } if (ED_IS_SHORTCUT("file_dialog/go_up", p_event)) { _go_up(); handled=true; } if (ED_IS_SHORTCUT("file_dialog/refresh", p_event)) { invalidate(); handled=true; } if (ED_IS_SHORTCUT("file_dialog/toggle_hidden_files", p_event)) { bool show=!show_hidden_files; set_show_hidden_files(show); EditorSettings::get_singleton()->set("file_dialog/show_hidden_files",show); handled=true; } if (ED_IS_SHORTCUT("file_dialog/toggle_favorite", p_event)) { _favorite_toggled(favorite->is_pressed()); handled=true; } if (ED_IS_SHORTCUT("file_dialog/toggle_mode", p_event)) { if (mode_thumbnails->is_pressed()) { set_display_mode(DISPLAY_LIST); } else { set_display_mode(DISPLAY_THUMBNAILS); } handled=true; } if (ED_IS_SHORTCUT("file_dialog/create_folder", p_event)) { _make_dir(); handled=true; } if (ED_IS_SHORTCUT("file_dialog/focus_path", p_event)) { dir->grab_focus(); handled=true; } if (ED_IS_SHORTCUT("file_dialog/move_favorite_up", p_event)) { _favorite_move_up(); handled=true; } if (ED_IS_SHORTCUT("file_dialog/move_favorite_down", p_event)) { _favorite_move_down(); handled=true; } if (handled) { accept_event(); } } } }
void FileSystemDock::_notification(int p_what) { switch(p_what) { case NOTIFICATION_RESIZED: { bool new_mode = get_size().height < get_viewport_rect().size.height*3/4; if (new_mode != split_mode ) { split_mode=new_mode; //print_line("SPLIT MODE? "+itos(split_mode)); if (split_mode) { file_list_vb->hide(); tree->set_custom_minimum_size(Size2(0,0)); tree->set_v_size_flags(SIZE_EXPAND_FILL); button_back->show(); } else { tree->show(); file_list_vb->show(); tree->set_custom_minimum_size(Size2(0,200)*EDSCALE); tree->set_v_size_flags(SIZE_FILL); button_back->hide(); if (!EditorFileSystem::get_singleton()->is_scanning()) { _fs_changed(); } } } } break; case NOTIFICATION_ENTER_TREE: { if (initialized) return; initialized=true; EditorFileSystem::get_singleton()->connect("filesystem_changed",this,"_fs_changed"); EditorResourcePreview::get_singleton()->connect("preview_invalidated",this,"_preview_invalidated"); button_reload->set_icon( get_icon("Reload","EditorIcons")); button_favorite->set_icon( get_icon("Favorites","EditorIcons")); //button_instance->set_icon( get_icon("Add","EditorIcons")); //button_open->set_icon( get_icon("Folder","EditorIcons")); button_back->set_icon( get_icon("Filesystem","EditorIcons")); if (display_mode == DISPLAY_THUMBNAILS) { button_display_mode->set_icon(get_icon("FileList","EditorIcons")); } else { button_display_mode->set_icon(get_icon("FileThumbnail","EditorIcons")); } button_display_mode->connect("pressed",this,"_change_file_display"); //file_options->set_icon( get_icon("Tools","EditorIcons")); files->connect("item_activated",this,"_select_file"); button_hist_next->connect("pressed",this,"_fw_history"); button_hist_prev->connect("pressed",this,"_bw_history"); search_icon->set_texture( get_icon("Zoom","EditorIcons")); button_hist_next->set_icon( get_icon("Forward","EditorIcons")); button_hist_prev->set_icon( get_icon("Back","EditorIcons")); file_options->connect("item_pressed",this,"_file_option"); button_back->connect("pressed",this,"_go_to_tree",varray(),CONNECT_DEFERRED); current_path->connect("text_entered",this,"_go_to_dir"); _update_tree(); //maybe it finished already if (EditorFileSystem::get_singleton()->is_scanning()) { _set_scannig_mode(); } } break; case NOTIFICATION_PROCESS: { if (EditorFileSystem::get_singleton()->is_scanning()) { scanning_progress->set_val(EditorFileSystem::get_singleton()->get_scanning_progress()*100); } } break; case NOTIFICATION_EXIT_TREE: { } break; case NOTIFICATION_DRAG_BEGIN: { Dictionary dd = get_viewport()->gui_get_drag_data(); if (tree->is_visible() && dd.has("type") ) { if ( (String(dd["type"])=="files") || (String(dd["type"])=="files_and_dirs") || (String(dd["type"])=="resource")) { tree->set_drop_mode_flags(Tree::DROP_MODE_ON_ITEM); } if ( (String(dd["type"])=="favorite") ) { tree->set_drop_mode_flags(Tree::DROP_MODE_INBETWEEN); } } } break; case NOTIFICATION_DRAG_END: { tree->set_drop_mode_flags(0); } break; case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { int new_mode = int(EditorSettings::get_singleton()->get("filesystem_dock/display_mode")); if (new_mode != display_mode) { set_display_mode(new_mode); } else { _update_files(true); } } break; } }