add help
This commit is contained in:
parent
d037e74788
commit
d2816fb157
@ -209,7 +209,7 @@ namespace rrr::layers::gui
|
|||||||
freeze = true;
|
freeze = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// создание файла/директории
|
// переименование файла/директории
|
||||||
if (shift && key.get_keycode() == try_engine::key::R)
|
if (shift && key.get_keycode() == try_engine::key::R)
|
||||||
{
|
{
|
||||||
em->execute(types::event_type::SHOW_RENAME_FILE_DIALOG, selected_file);
|
em->execute(types::event_type::SHOW_RENAME_FILE_DIALOG, selected_file);
|
||||||
@ -299,6 +299,18 @@ namespace rrr::layers::gui
|
|||||||
// очистка
|
// очистка
|
||||||
if (key.get_keycode() == try_engine::key::ESCAPE)
|
if (key.get_keycode() == try_engine::key::ESCAPE)
|
||||||
buffers::get_instance().single_buffer.clear();
|
buffers::get_instance().single_buffer.clear();
|
||||||
|
|
||||||
|
// помощь
|
||||||
|
if (key.get_keycode() == try_engine::key::F1)
|
||||||
|
{
|
||||||
|
em->execute(types::event_type::SHOW_HELP_DIALOG, nullptr);
|
||||||
|
freeze = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// HERE начинаем тут
|
||||||
|
// сделали помощь и начинаем делать множественное копирование и вырезание
|
||||||
|
// буфер для этого делаем в папке buffers
|
||||||
|
// там уже есть организация такого типа
|
||||||
}
|
}
|
||||||
|
|
||||||
void navigation::released(system_event& e)
|
void navigation::released(system_event& e)
|
||||||
|
@ -37,6 +37,9 @@ namespace rrr::layers::gui
|
|||||||
if (rename_dialog)
|
if (rename_dialog)
|
||||||
draw_rename_dialog();
|
draw_rename_dialog();
|
||||||
|
|
||||||
|
if (help_dialog)
|
||||||
|
draw_help_dialog();
|
||||||
|
|
||||||
END_IMGUI_WIN();
|
END_IMGUI_WIN();
|
||||||
|
|
||||||
ImGui::PopStyleVar();
|
ImGui::PopStyleVar();
|
||||||
@ -86,6 +89,12 @@ namespace rrr::layers::gui
|
|||||||
rename_dialog = true;
|
rename_dialog = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case types::event_type::SHOW_HELP_DIALOG:
|
||||||
|
{
|
||||||
|
show = true;
|
||||||
|
help_dialog = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -133,6 +142,9 @@ namespace rrr::layers::gui
|
|||||||
if (rename_dialog)
|
if (rename_dialog)
|
||||||
rename();
|
rename();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (help_dialog && key.get_keycode() == try_engine::key::F1)
|
||||||
|
cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
void dialogs::released(system_event& e)
|
void dialogs::released(system_event& e)
|
||||||
@ -270,6 +282,39 @@ namespace rrr::layers::gui
|
|||||||
TR_POP_FONT();
|
TR_POP_FONT();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void dialogs::draw_help_dialog()
|
||||||
|
{
|
||||||
|
height = try_engine::application::get()->get_window()->height() / 2.7f;
|
||||||
|
|
||||||
|
TR_PUSH_FONT(MEDIUM, 16);
|
||||||
|
|
||||||
|
std::string label = "Помощь";
|
||||||
|
title = current_file.path.filename();
|
||||||
|
|
||||||
|
// манипуляции с тем чтобы название стояло посередлине
|
||||||
|
// см. и ниже тоже
|
||||||
|
auto pos = ImGui::GetCursorPos();
|
||||||
|
pos.x = width / 2.6f;
|
||||||
|
pos.y += 12.f;
|
||||||
|
ImGui::SetCursorPos(pos);
|
||||||
|
ImGui::TextUnformatted(label.data());
|
||||||
|
|
||||||
|
ImGui::Separator();
|
||||||
|
ImGui::TextUnformatted("Копирование: С / backspace");
|
||||||
|
ImGui::TextUnformatted("Вставка: P");
|
||||||
|
ImGui::TextUnformatted("Удаление: D");
|
||||||
|
ImGui::TextUnformatted("Переименование: R");
|
||||||
|
ImGui::TextUnformatted("Создание: A");
|
||||||
|
|
||||||
|
ImGui::Separator();
|
||||||
|
ImGui::TextUnformatted("Перемещение в начало: gg");
|
||||||
|
ImGui::TextUnformatted("Перемещение в конец: G");
|
||||||
|
|
||||||
|
ImGui::Separator();
|
||||||
|
ImGui::TextUnformatted("Выход из помощи: F1");
|
||||||
|
|
||||||
|
TR_POP_FONT();
|
||||||
|
}
|
||||||
void dialogs::create_file()
|
void dialogs::create_file()
|
||||||
{
|
{
|
||||||
if (title.empty()) return;
|
if (title.empty()) return;
|
||||||
@ -293,8 +338,11 @@ namespace rrr::layers::gui
|
|||||||
delete_dialog = false;
|
delete_dialog = false;
|
||||||
create_dialog = false;
|
create_dialog = false;
|
||||||
rename_dialog = false;
|
rename_dialog = false;
|
||||||
|
help_dialog = false;
|
||||||
title.clear();
|
title.clear();
|
||||||
show = false;
|
show = false;
|
||||||
|
height = try_engine::application::get()->get_window()->height() / 5.f;
|
||||||
|
width = try_engine::application::get()->get_window()->width() / 3.2f;
|
||||||
em->execute(types::event_type::UNFREEZE_BROWSER_ACTION, nullptr);
|
em->execute(types::event_type::UNFREEZE_BROWSER_ACTION, nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,19 +28,24 @@ namespace rrr::layers::gui
|
|||||||
|
|
||||||
float width = 0.f;
|
float width = 0.f;
|
||||||
float height = 0.f;
|
float height = 0.f;
|
||||||
bool delete_dialog = false;
|
|
||||||
bool create_dialog = false;
|
|
||||||
bool rename_dialog = false;
|
|
||||||
file current_file;
|
file current_file;
|
||||||
bool shift = false;
|
bool shift = false;
|
||||||
std::string title;
|
std::string title;
|
||||||
|
|
||||||
|
bool delete_dialog = false;
|
||||||
|
bool create_dialog = false;
|
||||||
|
bool rename_dialog = false;
|
||||||
|
bool help_dialog = false;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void resize();
|
void resize();
|
||||||
void cancel();
|
void cancel();
|
||||||
|
|
||||||
void draw_delete_dialog();
|
void draw_delete_dialog();
|
||||||
void draw_create_dialog();
|
void draw_create_dialog();
|
||||||
void draw_rename_dialog();
|
void draw_rename_dialog();
|
||||||
|
void draw_help_dialog();
|
||||||
|
|
||||||
void create_file();
|
void create_file();
|
||||||
void rename();
|
void rename();
|
||||||
void pressed(system_event& e);
|
void pressed(system_event& e);
|
||||||
|
@ -17,7 +17,7 @@ namespace rrr::types
|
|||||||
CREATE_FILE,
|
CREATE_FILE,
|
||||||
SHOW_RENAME_FILE_DIALOG,
|
SHOW_RENAME_FILE_DIALOG,
|
||||||
RENAME_FILE,
|
RENAME_FILE,
|
||||||
ADD_SINGLE_BUFFER // добавляет в буфер только один файлол
|
SHOW_HELP_DIALOG
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user