1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:28:12 +00:00

LibGUI: Make AbstractView accept drags (and delegate to model)

This commit is contained in:
Andreas Kling 2021-01-09 11:36:49 +01:00
parent 7baaa34490
commit b08ed1b560
4 changed files with 50 additions and 21 deletions

View file

@ -153,6 +153,9 @@ protected:
virtual void mouseup_event(MouseEvent&) override;
virtual void doubleclick_event(MouseEvent&) override;
virtual void context_menu_event(ContextMenuEvent&) override;
virtual void drag_enter_event(DragEvent&) override;
virtual void drag_move_event(DragEvent&) override;
virtual void drag_leave_event(Event&) override;
virtual void drop_event(DropEvent&) override;
virtual void leave_event(Core::Event&) override;
virtual void hide_event(HideEvent&) override;
@ -180,6 +183,8 @@ protected:
void do_search(String&&);
bool is_highlighting_searching(const ModelIndex&) const;
ModelIndex drop_candidate_index() const { return m_drop_candidate_index; }
bool m_editable { false };
bool m_searchable { true };
ModelIndex m_edit_index;
@ -202,6 +207,7 @@ private:
String m_searching;
RefPtr<Core::Timer> m_searching_timer;
ModelIndex m_cursor_index;
ModelIndex m_drop_candidate_index;
SelectionBehavior m_selection_behavior { SelectionBehavior::SelectItems };
SelectionMode m_selection_mode { SelectionMode::SingleSelection };
unsigned m_edit_triggers { EditTrigger::DoubleClicked | EditTrigger::EditKeyPressed };