mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 07:08:10 +00:00
LibGUI: Get rid of Model::ColumnMetadata and always use auto-sizing
Auto-sizing of view columns is now enabled by default. This removes the last remaining need for ColumnMetadata, so this patch gets rid of it.
This commit is contained in:
parent
c666c251c8
commit
2adb0a07e5
38 changed files with 1 additions and 216 deletions
|
@ -60,10 +60,7 @@ InspectorWidget::InspectorWidget()
|
||||||
auto& tab_widget = splitter.add<GUI::TabWidget>();
|
auto& tab_widget = splitter.add<GUI::TabWidget>();
|
||||||
|
|
||||||
m_style_table_view = tab_widget.add_tab<GUI::TableView>("Styles");
|
m_style_table_view = tab_widget.add_tab<GUI::TableView>("Styles");
|
||||||
m_style_table_view->set_size_columns_to_fit_content(true);
|
|
||||||
|
|
||||||
m_computed_style_table_view = tab_widget.add_tab<GUI::TableView>("Computed");
|
m_computed_style_table_view = tab_widget.add_tab<GUI::TableView>("Computed");
|
||||||
m_computed_style_table_view->set_size_columns_to_fit_content(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
InspectorWidget::~InspectorWidget()
|
InspectorWidget::~InspectorWidget()
|
||||||
|
|
|
@ -146,11 +146,6 @@ String AddEventDialog::MonthListModel::column_name(int column) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI::Model::ColumnMetadata AddEventDialog::MonthListModel::column_metadata([[maybe_unused]] int column) const
|
|
||||||
{
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
GUI::Variant AddEventDialog::MonthListModel::data(const GUI::ModelIndex& index, Role role) const
|
GUI::Variant AddEventDialog::MonthListModel::data(const GUI::ModelIndex& index, Role role) const
|
||||||
{
|
{
|
||||||
auto& month = Calendar::name_of_month(index.row() + 1);
|
auto& month = Calendar::name_of_month(index.row() + 1);
|
||||||
|
|
|
@ -58,7 +58,6 @@ private:
|
||||||
virtual int row_count(const GUI::ModelIndex& = GUI::ModelIndex()) const override;
|
virtual int row_count(const GUI::ModelIndex& = GUI::ModelIndex()) const override;
|
||||||
virtual int column_count(const GUI::ModelIndex& = GUI::ModelIndex()) const override { return Column::__Count; }
|
virtual int column_count(const GUI::ModelIndex& = GUI::ModelIndex()) const override { return Column::__Count; }
|
||||||
virtual String column_name(int) const override;
|
virtual String column_name(int) const override;
|
||||||
virtual ColumnMetadata column_metadata(int) const override;
|
|
||||||
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
||||||
virtual void update() override;
|
virtual void update() override;
|
||||||
|
|
||||||
|
|
|
@ -52,11 +52,6 @@ public:
|
||||||
return "Data";
|
return "Data";
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ColumnMetadata column_metadata(int) const override
|
|
||||||
{
|
|
||||||
return { 70 };
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual GUI::Variant data(const GUI::ModelIndex& index, Role role = Role::Display) const override
|
virtual GUI::Variant data(const GUI::ModelIndex& index, Role role = Role::Display) const override
|
||||||
{
|
{
|
||||||
if (role == Role::TextAlignment)
|
if (role == Role::TextAlignment)
|
||||||
|
|
|
@ -333,7 +333,6 @@ void IRCAppWindow::setup_widgets()
|
||||||
m_window_list = horizontal_container.add<GUI::TableView>();
|
m_window_list = horizontal_container.add<GUI::TableView>();
|
||||||
m_window_list->set_headers_visible(false);
|
m_window_list->set_headers_visible(false);
|
||||||
m_window_list->set_alternating_row_colors(false);
|
m_window_list->set_alternating_row_colors(false);
|
||||||
m_window_list->set_size_columns_to_fit_content(true);
|
|
||||||
m_window_list->set_model(m_client->client_window_list_model());
|
m_window_list->set_model(m_client->client_window_list_model());
|
||||||
m_window_list->set_activates_on_selection(true);
|
m_window_list->set_activates_on_selection(true);
|
||||||
m_window_list->set_size_policy(GUI::SizePolicy::Fixed, GUI::SizePolicy::Fill);
|
m_window_list->set_size_policy(GUI::SizePolicy::Fixed, GUI::SizePolicy::Fill);
|
||||||
|
|
|
@ -57,15 +57,6 @@ String IRCChannelMemberListModel::column_name(int column) const
|
||||||
ASSERT_NOT_REACHED();
|
ASSERT_NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI::Model::ColumnMetadata IRCChannelMemberListModel::column_metadata(int column) const
|
|
||||||
{
|
|
||||||
switch (column) {
|
|
||||||
case Column::Name:
|
|
||||||
return { 70 };
|
|
||||||
}
|
|
||||||
ASSERT_NOT_REACHED();
|
|
||||||
}
|
|
||||||
|
|
||||||
GUI::Variant IRCChannelMemberListModel::data(const GUI::ModelIndex& index, Role role) const
|
GUI::Variant IRCChannelMemberListModel::data(const GUI::ModelIndex& index, Role role) const
|
||||||
{
|
{
|
||||||
if (role == Role::TextAlignment)
|
if (role == Role::TextAlignment)
|
||||||
|
|
|
@ -42,7 +42,6 @@ public:
|
||||||
virtual int row_count(const GUI::ModelIndex&) const override;
|
virtual int row_count(const GUI::ModelIndex&) const override;
|
||||||
virtual int column_count(const GUI::ModelIndex&) const override;
|
virtual int column_count(const GUI::ModelIndex&) const override;
|
||||||
virtual String column_name(int column) const override;
|
virtual String column_name(int column) const override;
|
||||||
virtual ColumnMetadata column_metadata(int column) const override;
|
|
||||||
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
||||||
virtual void update() override;
|
virtual void update() override;
|
||||||
virtual String nick_at(const GUI::ModelIndex& index) const;
|
virtual String nick_at(const GUI::ModelIndex& index) const;
|
||||||
|
|
|
@ -59,15 +59,6 @@ String IRCWindowListModel::column_name(int column) const
|
||||||
ASSERT_NOT_REACHED();
|
ASSERT_NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI::Model::ColumnMetadata IRCWindowListModel::column_metadata(int column) const
|
|
||||||
{
|
|
||||||
switch (column) {
|
|
||||||
case Column::Name:
|
|
||||||
return { 70 };
|
|
||||||
}
|
|
||||||
ASSERT_NOT_REACHED();
|
|
||||||
}
|
|
||||||
|
|
||||||
GUI::Variant IRCWindowListModel::data(const GUI::ModelIndex& index, Role role) const
|
GUI::Variant IRCWindowListModel::data(const GUI::ModelIndex& index, Role role) const
|
||||||
{
|
{
|
||||||
if (role == Role::TextAlignment)
|
if (role == Role::TextAlignment)
|
||||||
|
|
|
@ -44,7 +44,6 @@ public:
|
||||||
virtual int row_count(const GUI::ModelIndex&) const override;
|
virtual int row_count(const GUI::ModelIndex&) const override;
|
||||||
virtual int column_count(const GUI::ModelIndex&) const override;
|
virtual int column_count(const GUI::ModelIndex&) const override;
|
||||||
virtual String column_name(int column) const override;
|
virtual String column_name(int column) const override;
|
||||||
virtual ColumnMetadata column_metadata(int column) const override;
|
|
||||||
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
||||||
virtual void update() override;
|
virtual void update() override;
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,6 @@ int main(int argc, char** argv)
|
||||||
right_panel.set_layout<GUI::VerticalBoxLayout>();
|
right_panel.set_layout<GUI::VerticalBoxLayout>();
|
||||||
|
|
||||||
auto& layer_table_view = right_panel.add<GUI::TableView>();
|
auto& layer_table_view = right_panel.add<GUI::TableView>();
|
||||||
layer_table_view.set_size_columns_to_fit_content(true);
|
|
||||||
|
|
||||||
window->show();
|
window->show();
|
||||||
|
|
||||||
|
|
|
@ -73,24 +73,6 @@ String DevicesModel::column_name(int column) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI::Model::ColumnMetadata DevicesModel::column_metadata(int column) const
|
|
||||||
{
|
|
||||||
switch (column) {
|
|
||||||
case Column::Device:
|
|
||||||
return { 70 };
|
|
||||||
case Column::Major:
|
|
||||||
return { 32 };
|
|
||||||
case Column::Minor:
|
|
||||||
return { 32 };
|
|
||||||
case Column::ClassName:
|
|
||||||
return { 120 };
|
|
||||||
case Column::Type:
|
|
||||||
return { 120 };
|
|
||||||
default:
|
|
||||||
ASSERT_NOT_REACHED();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
GUI::Variant DevicesModel::data(const GUI::ModelIndex& index, Role role) const
|
GUI::Variant DevicesModel::data(const GUI::ModelIndex& index, Role role) const
|
||||||
{
|
{
|
||||||
ASSERT(is_valid(index));
|
ASSERT(is_valid(index));
|
||||||
|
|
|
@ -47,7 +47,6 @@ public:
|
||||||
virtual int row_count(const GUI::ModelIndex&) const override;
|
virtual int row_count(const GUI::ModelIndex&) const override;
|
||||||
virtual int column_count(const GUI::ModelIndex&) const override;
|
virtual int column_count(const GUI::ModelIndex&) const override;
|
||||||
virtual String column_name(int column) const override;
|
virtual String column_name(int column) const override;
|
||||||
virtual ColumnMetadata column_metadata(int column) const override;
|
|
||||||
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
||||||
virtual void update() override;
|
virtual void update() override;
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,6 @@ NetworkStatisticsWidget::NetworkStatisticsWidget()
|
||||||
adapters_group_box.set_preferred_size(0, 120);
|
adapters_group_box.set_preferred_size(0, 120);
|
||||||
|
|
||||||
m_adapter_table_view = adapters_group_box.add<GUI::TableView>();
|
m_adapter_table_view = adapters_group_box.add<GUI::TableView>();
|
||||||
m_adapter_table_view->set_size_columns_to_fit_content(true);
|
|
||||||
|
|
||||||
Vector<GUI::JsonArrayModel::FieldSpec> net_adapters_fields;
|
Vector<GUI::JsonArrayModel::FieldSpec> net_adapters_fields;
|
||||||
net_adapters_fields.empend("name", "Name", Gfx::TextAlignment::CenterLeft);
|
net_adapters_fields.empend("name", "Name", Gfx::TextAlignment::CenterLeft);
|
||||||
|
@ -64,7 +63,6 @@ NetworkStatisticsWidget::NetworkStatisticsWidget()
|
||||||
sockets_group_box.set_preferred_size(0, 0);
|
sockets_group_box.set_preferred_size(0, 0);
|
||||||
|
|
||||||
m_socket_table_view = sockets_group_box.add<GUI::TableView>();
|
m_socket_table_view = sockets_group_box.add<GUI::TableView>();
|
||||||
m_socket_table_view->set_size_columns_to_fit_content(true);
|
|
||||||
|
|
||||||
Vector<GUI::JsonArrayModel::FieldSpec> net_tcp_fields;
|
Vector<GUI::JsonArrayModel::FieldSpec> net_tcp_fields;
|
||||||
net_tcp_fields.empend("peer_address", "Peer", Gfx::TextAlignment::CenterLeft);
|
net_tcp_fields.empend("peer_address", "Peer", Gfx::TextAlignment::CenterLeft);
|
||||||
|
|
|
@ -34,7 +34,6 @@ ProcessFileDescriptorMapWidget::ProcessFileDescriptorMapWidget()
|
||||||
set_layout<GUI::VerticalBoxLayout>();
|
set_layout<GUI::VerticalBoxLayout>();
|
||||||
layout()->set_margins({ 4, 4, 4, 4 });
|
layout()->set_margins({ 4, 4, 4, 4 });
|
||||||
m_table_view = add<GUI::TableView>();
|
m_table_view = add<GUI::TableView>();
|
||||||
m_table_view->set_size_columns_to_fit_content(true);
|
|
||||||
|
|
||||||
Vector<GUI::JsonArrayModel::FieldSpec> pid_fds_fields;
|
Vector<GUI::JsonArrayModel::FieldSpec> pid_fds_fields;
|
||||||
pid_fds_fields.empend("fd", "FD", Gfx::TextAlignment::CenterRight);
|
pid_fds_fields.empend("fd", "FD", Gfx::TextAlignment::CenterRight);
|
||||||
|
|
|
@ -69,7 +69,6 @@ ProcessMemoryMapWidget::ProcessMemoryMapWidget()
|
||||||
set_layout<GUI::VerticalBoxLayout>();
|
set_layout<GUI::VerticalBoxLayout>();
|
||||||
layout()->set_margins({ 4, 4, 4, 4 });
|
layout()->set_margins({ 4, 4, 4, 4 });
|
||||||
m_table_view = add<GUI::TableView>();
|
m_table_view = add<GUI::TableView>();
|
||||||
m_table_view->set_size_columns_to_fit_content(true);
|
|
||||||
Vector<GUI::JsonArrayModel::FieldSpec> pid_vm_fields;
|
Vector<GUI::JsonArrayModel::FieldSpec> pid_vm_fields;
|
||||||
pid_vm_fields.empend("Address", Gfx::TextAlignment::CenterLeft, [](auto& object) {
|
pid_vm_fields.empend("Address", Gfx::TextAlignment::CenterLeft, [](auto& object) {
|
||||||
return String::format("%#x", object.get("address").to_u32());
|
return String::format("%#x", object.get("address").to_u32());
|
||||||
|
|
|
@ -128,68 +128,6 @@ String ProcessModel::column_name(int column) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI::Model::ColumnMetadata ProcessModel::column_metadata(int column) const
|
|
||||||
{
|
|
||||||
switch (column) {
|
|
||||||
case Column::Icon:
|
|
||||||
return { 16 };
|
|
||||||
case Column::PID:
|
|
||||||
return { 32 };
|
|
||||||
case Column::TID:
|
|
||||||
return { 32 };
|
|
||||||
case Column::State:
|
|
||||||
return { 75 };
|
|
||||||
case Column::Priority:
|
|
||||||
return { 16 };
|
|
||||||
case Column::EffectivePriority:
|
|
||||||
return { 16 };
|
|
||||||
case Column::User:
|
|
||||||
return { 50 };
|
|
||||||
case Column::Virtual:
|
|
||||||
return { 65 };
|
|
||||||
case Column::Physical:
|
|
||||||
return { 65 };
|
|
||||||
case Column::DirtyPrivate:
|
|
||||||
return { 65 };
|
|
||||||
case Column::CleanInode:
|
|
||||||
return { 65 };
|
|
||||||
case Column::PurgeableVolatile:
|
|
||||||
return { 65 };
|
|
||||||
case Column::PurgeableNonvolatile:
|
|
||||||
return { 65 };
|
|
||||||
case Column::CPU:
|
|
||||||
return { 32 };
|
|
||||||
case Column::Name:
|
|
||||||
return { 140 };
|
|
||||||
case Column::Syscalls:
|
|
||||||
return { 60 };
|
|
||||||
case Column::InodeFaults:
|
|
||||||
return { 60 };
|
|
||||||
case Column::ZeroFaults:
|
|
||||||
return { 60 };
|
|
||||||
case Column::CowFaults:
|
|
||||||
return { 60 };
|
|
||||||
case Column::FileReadBytes:
|
|
||||||
return { 60 };
|
|
||||||
case Column::FileWriteBytes:
|
|
||||||
return { 60 };
|
|
||||||
case Column::UnixSocketReadBytes:
|
|
||||||
return { 60 };
|
|
||||||
case Column::UnixSocketWriteBytes:
|
|
||||||
return { 60 };
|
|
||||||
case Column::IPv4SocketReadBytes:
|
|
||||||
return { 60 };
|
|
||||||
case Column::IPv4SocketWriteBytes:
|
|
||||||
return { 60 };
|
|
||||||
case Column::Pledge:
|
|
||||||
return { 60 };
|
|
||||||
case Column::Veil:
|
|
||||||
return { 60 };
|
|
||||||
default:
|
|
||||||
ASSERT_NOT_REACHED();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static String pretty_byte_size(size_t size)
|
static String pretty_byte_size(size_t size)
|
||||||
{
|
{
|
||||||
return String::format("%uK", size / 1024);
|
return String::format("%uK", size / 1024);
|
||||||
|
|
|
@ -84,7 +84,6 @@ public:
|
||||||
virtual int row_count(const GUI::ModelIndex&) const override;
|
virtual int row_count(const GUI::ModelIndex&) const override;
|
||||||
virtual int column_count(const GUI::ModelIndex&) const override;
|
virtual int column_count(const GUI::ModelIndex&) const override;
|
||||||
virtual String column_name(int column) const override;
|
virtual String column_name(int column) const override;
|
||||||
virtual ColumnMetadata column_metadata(int column) const override;
|
|
||||||
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
||||||
virtual void update() override;
|
virtual void update() override;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
|
|
||||||
ProcessTableView::ProcessTableView()
|
ProcessTableView::ProcessTableView()
|
||||||
{
|
{
|
||||||
set_size_columns_to_fit_content(true);
|
|
||||||
set_model(GUI::SortingProxyModel::create(ProcessModel::create()));
|
set_model(GUI::SortingProxyModel::create(ProcessModel::create()));
|
||||||
model()->set_key_column_and_sort_order(ProcessModel::Column::CPU, GUI::SortOrder::Descending);
|
model()->set_key_column_and_sort_order(ProcessModel::Column::CPU, GUI::SortOrder::Descending);
|
||||||
refresh();
|
refresh();
|
||||||
|
|
|
@ -34,7 +34,6 @@ ProcessUnveiledPathsWidget::ProcessUnveiledPathsWidget()
|
||||||
set_layout<GUI::VerticalBoxLayout>();
|
set_layout<GUI::VerticalBoxLayout>();
|
||||||
layout()->set_margins({ 4, 4, 4, 4 });
|
layout()->set_margins({ 4, 4, 4, 4 });
|
||||||
m_table_view = add<GUI::TableView>();
|
m_table_view = add<GUI::TableView>();
|
||||||
m_table_view->set_size_columns_to_fit_content(true);
|
|
||||||
|
|
||||||
Vector<GUI::JsonArrayModel::FieldSpec> pid_unveil_fields;
|
Vector<GUI::JsonArrayModel::FieldSpec> pid_unveil_fields;
|
||||||
pid_unveil_fields.empend("path", "Path", Gfx::TextAlignment::CenterLeft);
|
pid_unveil_fields.empend("path", "Path", Gfx::TextAlignment::CenterLeft);
|
||||||
|
|
|
@ -309,7 +309,6 @@ NonnullRefPtr<GUI::Widget> build_file_systems_tab()
|
||||||
self.set_layout<GUI::VerticalBoxLayout>();
|
self.set_layout<GUI::VerticalBoxLayout>();
|
||||||
self.layout()->set_margins({ 4, 4, 4, 4 });
|
self.layout()->set_margins({ 4, 4, 4, 4 });
|
||||||
auto& fs_table_view = self.add<GUI::TableView>();
|
auto& fs_table_view = self.add<GUI::TableView>();
|
||||||
fs_table_view.set_size_columns_to_fit_content(true);
|
|
||||||
|
|
||||||
Vector<GUI::JsonArrayModel::FieldSpec> df_fields;
|
Vector<GUI::JsonArrayModel::FieldSpec> df_fields;
|
||||||
df_fields.empend("mount_point", "Mount point", Gfx::TextAlignment::CenterLeft);
|
df_fields.empend("mount_point", "Mount point", Gfx::TextAlignment::CenterLeft);
|
||||||
|
@ -402,7 +401,6 @@ NonnullRefPtr<GUI::Widget> build_pci_devices_tab()
|
||||||
self.set_layout<GUI::VerticalBoxLayout>();
|
self.set_layout<GUI::VerticalBoxLayout>();
|
||||||
self.layout()->set_margins({ 4, 4, 4, 4 });
|
self.layout()->set_margins({ 4, 4, 4, 4 });
|
||||||
auto& pci_table_view = self.add<GUI::TableView>();
|
auto& pci_table_view = self.add<GUI::TableView>();
|
||||||
pci_table_view.set_size_columns_to_fit_content(true);
|
|
||||||
|
|
||||||
auto db = PCIDB::Database::open();
|
auto db = PCIDB::Database::open();
|
||||||
|
|
||||||
|
@ -461,7 +459,6 @@ NonnullRefPtr<GUI::Widget> build_devices_tab()
|
||||||
self.layout()->set_margins({ 4, 4, 4, 4 });
|
self.layout()->set_margins({ 4, 4, 4, 4 });
|
||||||
|
|
||||||
auto& devices_table_view = self.add<GUI::TableView>();
|
auto& devices_table_view = self.add<GUI::TableView>();
|
||||||
devices_table_view.set_size_columns_to_fit_content(true);
|
|
||||||
devices_table_view.set_model(GUI::SortingProxyModel::create(DevicesModel::create()));
|
devices_table_view.set_model(GUI::SortingProxyModel::create(DevicesModel::create()));
|
||||||
devices_table_view.model()->update();
|
devices_table_view.model()->update();
|
||||||
};
|
};
|
||||||
|
|
|
@ -143,7 +143,6 @@ FindInFilesWidget::FindInFilesWidget()
|
||||||
m_button->set_preferred_size(100, 0);
|
m_button->set_preferred_size(100, 0);
|
||||||
|
|
||||||
m_result_view = add<GUI::TableView>();
|
m_result_view = add<GUI::TableView>();
|
||||||
m_result_view->set_size_columns_to_fit_content(true);
|
|
||||||
|
|
||||||
m_result_view->on_activation = [](auto& index) {
|
m_result_view->on_activation = [](auto& index) {
|
||||||
auto& match = *(const Match*)index.internal_data();
|
auto& match = *(const Match*)index.internal_data();
|
||||||
|
|
|
@ -151,7 +151,6 @@ Locator::Locator()
|
||||||
m_popup_window->set_rect(0, 0, 500, 200);
|
m_popup_window->set_rect(0, 0, 500, 200);
|
||||||
|
|
||||||
m_suggestion_view = m_popup_window->set_main_widget<GUI::TableView>();
|
m_suggestion_view = m_popup_window->set_main_widget<GUI::TableView>();
|
||||||
m_suggestion_view->set_size_columns_to_fit_content(true);
|
|
||||||
m_suggestion_view->set_headers_visible(false);
|
m_suggestion_view->set_headers_visible(false);
|
||||||
|
|
||||||
m_suggestion_view->on_activation = [this](auto& index) {
|
m_suggestion_view->on_activation = [this](auto& index) {
|
||||||
|
|
|
@ -94,7 +94,6 @@ int main(int argc, char** argv)
|
||||||
tree_view.set_activates_on_selection(true);
|
tree_view.set_activates_on_selection(true);
|
||||||
|
|
||||||
auto& properties_table_view = splitter.add<GUI::TableView>();
|
auto& properties_table_view = splitter.add<GUI::TableView>();
|
||||||
properties_table_view.set_size_columns_to_fit_content(true);
|
|
||||||
properties_table_view.set_editable(true);
|
properties_table_view.set_editable(true);
|
||||||
properties_table_view.aid_create_editing_delegate = [](auto&) {
|
properties_table_view.aid_create_editing_delegate = [](auto&) {
|
||||||
return make<GUI::StringModelEditingDelegate>();
|
return make<GUI::StringModelEditingDelegate>();
|
||||||
|
|
|
@ -69,11 +69,9 @@ int main(int argc, char** argv)
|
||||||
|
|
||||||
auto& tree_view = bottom_splitter.add<GUI::TreeView>();
|
auto& tree_view = bottom_splitter.add<GUI::TreeView>();
|
||||||
tree_view.set_headers_visible(true);
|
tree_view.set_headers_visible(true);
|
||||||
tree_view.set_size_columns_to_fit_content(true);
|
|
||||||
tree_view.set_model(profile->model());
|
tree_view.set_model(profile->model());
|
||||||
|
|
||||||
auto& disassembly_view = bottom_splitter.add<GUI::TableView>();
|
auto& disassembly_view = bottom_splitter.add<GUI::TableView>();
|
||||||
disassembly_view.set_size_columns_to_fit_content(true);
|
|
||||||
|
|
||||||
tree_view.on_selection = [&](auto& index) {
|
tree_view.on_selection = [&](auto& index) {
|
||||||
profile->set_disassembly_index(index);
|
profile->set_disassembly_index(index);
|
||||||
|
|
|
@ -57,14 +57,6 @@ String VBWidgetPropertyModel::column_name(int column) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI::Model::ColumnMetadata VBWidgetPropertyModel::column_metadata(int column) const
|
|
||||||
{
|
|
||||||
UNUSED_PARAM(column);
|
|
||||||
if (column == Column::Name)
|
|
||||||
return { 110 };
|
|
||||||
return { 90 };
|
|
||||||
}
|
|
||||||
|
|
||||||
GUI::Variant VBWidgetPropertyModel::data(const GUI::ModelIndex& index, Role role) const
|
GUI::Variant VBWidgetPropertyModel::data(const GUI::ModelIndex& index, Role role) const
|
||||||
{
|
{
|
||||||
if (role == Role::TextAlignment) {
|
if (role == Role::TextAlignment) {
|
||||||
|
|
|
@ -46,7 +46,6 @@ public:
|
||||||
virtual int row_count(const GUI::ModelIndex&) const override;
|
virtual int row_count(const GUI::ModelIndex&) const override;
|
||||||
virtual int column_count(const GUI::ModelIndex&) const override { return Column::__Count; }
|
virtual int column_count(const GUI::ModelIndex&) const override { return Column::__Count; }
|
||||||
virtual String column_name(int column) const override;
|
virtual String column_name(int column) const override;
|
||||||
virtual ColumnMetadata column_metadata(int column) const override;
|
|
||||||
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
||||||
virtual void update() override { did_update(); }
|
virtual void update() override { did_update(); }
|
||||||
virtual bool is_editable(const GUI::ModelIndex&) const override;
|
virtual bool is_editable(const GUI::ModelIndex&) const override;
|
||||||
|
|
|
@ -59,9 +59,6 @@ void AbstractTableView::select_all()
|
||||||
|
|
||||||
void AbstractTableView::update_column_sizes()
|
void AbstractTableView::update_column_sizes()
|
||||||
{
|
{
|
||||||
if (!m_size_columns_to_fit_content)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!model())
|
if (!model())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -249,13 +246,7 @@ int AbstractTableView::column_width(int column_index) const
|
||||||
{
|
{
|
||||||
if (!model())
|
if (!model())
|
||||||
return 0;
|
return 0;
|
||||||
auto& column_data = this->column_data(column_index);
|
return column_data(column_index).width;
|
||||||
if (!column_data.has_initialized_width) {
|
|
||||||
ASSERT(!m_size_columns_to_fit_content);
|
|
||||||
column_data.has_initialized_width = true;
|
|
||||||
column_data.width = model()->column_metadata(column_index).preferred_width;
|
|
||||||
}
|
|
||||||
return column_data.width;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AbstractTableView::mousemove_event(MouseEvent& event)
|
void AbstractTableView::mousemove_event(MouseEvent& event)
|
||||||
|
|
|
@ -52,9 +52,6 @@ public:
|
||||||
bool is_column_hidden(int) const;
|
bool is_column_hidden(int) const;
|
||||||
void set_column_hidden(int, bool);
|
void set_column_hidden(int, bool);
|
||||||
|
|
||||||
void set_size_columns_to_fit_content(bool b) { m_size_columns_to_fit_content = b; }
|
|
||||||
bool size_columns_to_fit_content() const { return m_size_columns_to_fit_content; }
|
|
||||||
|
|
||||||
void set_cell_painting_delegate(int column, OwnPtr<TableCellPaintingDelegate>&&);
|
void set_cell_painting_delegate(int column, OwnPtr<TableCellPaintingDelegate>&&);
|
||||||
|
|
||||||
int horizontal_padding() const { return m_horizontal_padding; }
|
int horizontal_padding() const { return m_horizontal_padding; }
|
||||||
|
@ -117,7 +114,6 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_headers_visible { true };
|
bool m_headers_visible { true };
|
||||||
bool m_size_columns_to_fit_content { false };
|
|
||||||
bool m_in_column_resize { false };
|
bool m_in_column_resize { false };
|
||||||
bool m_alternating_row_colors { true };
|
bool m_alternating_row_colors { true };
|
||||||
int m_horizontal_padding { 5 };
|
int m_horizontal_padding { 5 };
|
||||||
|
|
|
@ -568,31 +568,6 @@ String FileSystemModel::column_name(int column) const
|
||||||
ASSERT_NOT_REACHED();
|
ASSERT_NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
Model::ColumnMetadata FileSystemModel::column_metadata(int column) const
|
|
||||||
{
|
|
||||||
switch (column) {
|
|
||||||
case Column::Icon:
|
|
||||||
return { 16 };
|
|
||||||
case Column::Name:
|
|
||||||
return { 120 };
|
|
||||||
case Column::Size:
|
|
||||||
return { 80 };
|
|
||||||
case Column::Owner:
|
|
||||||
return { 50 };
|
|
||||||
case Column::Group:
|
|
||||||
return { 50 };
|
|
||||||
case Column::ModificationTime:
|
|
||||||
return { 110 };
|
|
||||||
case Column::Permissions:
|
|
||||||
return { 65 };
|
|
||||||
case Column::Inode:
|
|
||||||
return { 60 };
|
|
||||||
case Column::SymlinkTarget:
|
|
||||||
return { 120 };
|
|
||||||
}
|
|
||||||
ASSERT_NOT_REACHED();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool FileSystemModel::accepts_drag(const ModelIndex& index, const StringView& data_type)
|
bool FileSystemModel::accepts_drag(const ModelIndex& index, const StringView& data_type)
|
||||||
{
|
{
|
||||||
if (!index.is_valid())
|
if (!index.is_valid())
|
||||||
|
|
|
@ -141,7 +141,6 @@ public:
|
||||||
virtual int row_count(const ModelIndex& = ModelIndex()) const override;
|
virtual int row_count(const ModelIndex& = ModelIndex()) const override;
|
||||||
virtual int column_count(const ModelIndex& = ModelIndex()) const override;
|
virtual int column_count(const ModelIndex& = ModelIndex()) const override;
|
||||||
virtual String column_name(int column) const override;
|
virtual String column_name(int column) const override;
|
||||||
virtual ColumnMetadata column_metadata(int column) const override;
|
|
||||||
virtual Variant data(const ModelIndex&, Role = Role::Display) const override;
|
virtual Variant data(const ModelIndex&, Role = Role::Display) const override;
|
||||||
virtual void update() override;
|
virtual void update() override;
|
||||||
virtual ModelIndex parent_index(const ModelIndex&) const override;
|
virtual ModelIndex parent_index(const ModelIndex&) const override;
|
||||||
|
|
|
@ -91,12 +91,6 @@ bool JsonArrayModel::remove(int row)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Model::ColumnMetadata JsonArrayModel::column_metadata(int column) const
|
|
||||||
{
|
|
||||||
ASSERT(column < static_cast<int>(m_fields.size()));
|
|
||||||
return { 100 };
|
|
||||||
}
|
|
||||||
|
|
||||||
Variant JsonArrayModel::data(const ModelIndex& index, Role role) const
|
Variant JsonArrayModel::data(const ModelIndex& index, Role role) const
|
||||||
{
|
{
|
||||||
auto& field_spec = m_fields[index.column()];
|
auto& field_spec = m_fields[index.column()];
|
||||||
|
|
|
@ -69,7 +69,6 @@ public:
|
||||||
virtual int row_count(const ModelIndex& = ModelIndex()) const override { return m_array.size(); }
|
virtual int row_count(const ModelIndex& = ModelIndex()) const override { return m_array.size(); }
|
||||||
virtual int column_count(const ModelIndex& = ModelIndex()) const override { return m_fields.size(); }
|
virtual int column_count(const ModelIndex& = ModelIndex()) const override { return m_fields.size(); }
|
||||||
virtual String column_name(int column) const override { return m_fields[column].column_name; }
|
virtual String column_name(int column) const override { return m_fields[column].column_name; }
|
||||||
virtual ColumnMetadata column_metadata(int) const override;
|
|
||||||
virtual Variant data(const ModelIndex&, Role = Role::Display) const override;
|
virtual Variant data(const ModelIndex&, Role = Role::Display) const override;
|
||||||
virtual void update() override;
|
virtual void update() override;
|
||||||
|
|
||||||
|
|
|
@ -46,10 +46,6 @@ enum class SortOrder {
|
||||||
|
|
||||||
class Model : public RefCounted<Model> {
|
class Model : public RefCounted<Model> {
|
||||||
public:
|
public:
|
||||||
struct ColumnMetadata {
|
|
||||||
int preferred_width { 0 };
|
|
||||||
};
|
|
||||||
|
|
||||||
enum UpdateFlag {
|
enum UpdateFlag {
|
||||||
DontInvalidateIndexes = 0,
|
DontInvalidateIndexes = 0,
|
||||||
InvalidateAllIndexes = 1 << 0,
|
InvalidateAllIndexes = 1 << 0,
|
||||||
|
@ -73,7 +69,6 @@ public:
|
||||||
virtual int column_count(const ModelIndex& = ModelIndex()) const = 0;
|
virtual int column_count(const ModelIndex& = ModelIndex()) const = 0;
|
||||||
virtual String row_name(int) const { return {}; }
|
virtual String row_name(int) const { return {}; }
|
||||||
virtual String column_name(int) const { return {}; }
|
virtual String column_name(int) const { return {}; }
|
||||||
virtual ColumnMetadata column_metadata(int) const { return {}; }
|
|
||||||
virtual Variant data(const ModelIndex&, Role = Role::Display) const = 0;
|
virtual Variant data(const ModelIndex&, Role = Role::Display) const = 0;
|
||||||
virtual void update() = 0;
|
virtual void update() = 0;
|
||||||
virtual ModelIndex parent_index(const ModelIndex&) const { return {}; }
|
virtual ModelIndex parent_index(const ModelIndex&) const { return {}; }
|
||||||
|
|
|
@ -74,11 +74,6 @@ String SortingProxyModel::column_name(int index) const
|
||||||
return target().column_name(index);
|
return target().column_name(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
Model::ColumnMetadata SortingProxyModel::column_metadata(int index) const
|
|
||||||
{
|
|
||||||
return target().column_metadata(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
Variant SortingProxyModel::data(const ModelIndex& index, Role role) const
|
Variant SortingProxyModel::data(const ModelIndex& index, Role role) const
|
||||||
{
|
{
|
||||||
auto target_index = map_to_target(index);
|
auto target_index = map_to_target(index);
|
||||||
|
|
|
@ -39,7 +39,6 @@ public:
|
||||||
virtual int column_count(const ModelIndex& = ModelIndex()) const override;
|
virtual int column_count(const ModelIndex& = ModelIndex()) const override;
|
||||||
virtual String row_name(int) const override;
|
virtual String row_name(int) const override;
|
||||||
virtual String column_name(int) const override;
|
virtual String column_name(int) const override;
|
||||||
virtual ColumnMetadata column_metadata(int) const override;
|
|
||||||
virtual Variant data(const ModelIndex&, Role = Role::Display) const override;
|
virtual Variant data(const ModelIndex&, Role = Role::Display) const override;
|
||||||
virtual void update() override;
|
virtual void update() override;
|
||||||
virtual StringView drag_data_type() const override;
|
virtual StringView drag_data_type() const override;
|
||||||
|
|
|
@ -56,7 +56,6 @@ TreeView::TreeView()
|
||||||
set_fill_with_background_color(true);
|
set_fill_with_background_color(true);
|
||||||
set_background_role(ColorRole::Base);
|
set_background_role(ColorRole::Base);
|
||||||
set_foreground_role(ColorRole::BaseText);
|
set_foreground_role(ColorRole::BaseText);
|
||||||
set_size_columns_to_fit_content(true);
|
|
||||||
set_headers_visible(false);
|
set_headers_visible(false);
|
||||||
m_expand_bitmap = Gfx::Bitmap::load_from_file("/res/icons/treeview-expand.png");
|
m_expand_bitmap = Gfx::Bitmap::load_from_file("/res/icons/treeview-expand.png");
|
||||||
m_collapse_bitmap = Gfx::Bitmap::load_from_file("/res/icons/treeview-collapse.png");
|
m_collapse_bitmap = Gfx::Bitmap::load_from_file("/res/icons/treeview-collapse.png");
|
||||||
|
@ -515,9 +514,6 @@ int TreeView::item_count() const
|
||||||
|
|
||||||
void TreeView::update_column_sizes()
|
void TreeView::update_column_sizes()
|
||||||
{
|
{
|
||||||
if (!size_columns_to_fit_content())
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!model())
|
if (!model())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -47,18 +47,6 @@ String ClipboardHistoryModel::column_name(int column) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI::Model::ColumnMetadata ClipboardHistoryModel::column_metadata(int column) const
|
|
||||||
{
|
|
||||||
switch (column) {
|
|
||||||
case Column::Data:
|
|
||||||
return { 200 };
|
|
||||||
case Column::Type:
|
|
||||||
return { 100 };
|
|
||||||
default:
|
|
||||||
ASSERT_NOT_REACHED();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
GUI::Variant ClipboardHistoryModel::data(const GUI::ModelIndex& index, Role) const
|
GUI::Variant ClipboardHistoryModel::data(const GUI::ModelIndex& index, Role) const
|
||||||
{
|
{
|
||||||
auto& data_and_type = m_history_items[index.row()];
|
auto& data_and_type = m_history_items[index.row()];
|
||||||
|
|
|
@ -48,7 +48,6 @@ public:
|
||||||
private:
|
private:
|
||||||
virtual int row_count(const GUI::ModelIndex&) const override { return m_history_items.size(); }
|
virtual int row_count(const GUI::ModelIndex&) const override { return m_history_items.size(); }
|
||||||
virtual String column_name(int) const override;
|
virtual String column_name(int) const override;
|
||||||
virtual GUI::Model::ColumnMetadata column_metadata(int column) const override;
|
|
||||||
virtual int column_count(const GUI::ModelIndex&) const override { return Column::__Count; }
|
virtual int column_count(const GUI::ModelIndex&) const override { return Column::__Count; }
|
||||||
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
virtual GUI::Variant data(const GUI::ModelIndex&, Role = Role::Display) const override;
|
||||||
virtual void update() override;
|
virtual void update() override;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue