Scroom  0.14
Scroom::Metadata Namespace Reference

Namespaces

 

Typedefs

using Metadata = std::vector< std::pair< std::string, std::string > >
 

Functions

void showMetaData (GtkWindow *parent, std::string title, Metadata data)
 

Typedef Documentation

◆ Metadata

using Scroom::Metadata::Metadata = typedef std::vector<std::pair<std::string, std::string> >

Function Documentation

◆ showMetaData()

void Scroom::Metadata::showMetaData ( GtkWindow *  parent,
std::string  title,
Metadata  data 
)
69  {
70  for(auto& [key, _]: data)
71  {
72  UNUSED(_);
73  key = fmt::format("<b>{}:</b>", key);
74  }
75  const auto* windowData = new MetaDataWindowData{std::move(title), std::move(data)}; // NOLINT(cppcoreguidelines-owning-memory)
76 
77  // Create properties window
78  auto* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
79  g_signal_connect(static_cast<gpointer>(window),
80  "destroy",
81  G_CALLBACK(on_metadata_destroyed),
82  const_cast<MetaDataWindowData*>(windowData)); // NOLINT(cppcoreguidelines-pro-type-const-cast)
83 
84  gtk_window_set_title(GTK_WINDOW(window), windowData->title.c_str());
85  auto* grid = gtk_grid_new();
86  gtk_container_add(GTK_CONTAINER(window), grid);
87 
88  GtkWidget* previousKey = nullptr;
89  for(const auto& [keyText, valueText]: windowData->data)
90  {
91  GtkWidget* key = addNewKeyToGrid(grid, previousKey, keyText);
92  GtkWidget* value = addNewValueToGrid(grid, valueText, key);
93  addKeyAndValueToSizeGroup(key, value);
94 
95  previousKey = key;
96  }
97 
98  gtk_window_set_transient_for(GTK_WINDOW(window), parent);
99  gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER_ON_PARENT);
100  gtk_widget_show_all(window);
101  gtk_widget_grab_focus(window);
102  }
Here is the call graph for this function:
UNUSED
#define UNUSED(x)
Definition: unused.hh:10
Scroom::Metadata::anonymous_namespace{showmetadata.cc}::addKeyAndValueToSizeGroup
void addKeyAndValueToSizeGroup(GtkWidget *key, GtkWidget *value)
Definition: showmetadata.cc:54
Scroom::Metadata::anonymous_namespace{showmetadata.cc}::on_metadata_destroyed
void on_metadata_destroyed(GtkWidget *, gpointer user_data)
Definition: showmetadata.cc:62
Scroom::Metadata::anonymous_namespace{showmetadata.cc}::addNewValueToGrid
GtkWidget * addNewValueToGrid(const GtkWidget *grid, const std::string &valueText, GtkWidget *key)
Definition: showmetadata.cc:47
Scroom::Metadata::anonymous_namespace{showmetadata.cc}::addNewKeyToGrid
GtkWidget * addNewKeyToGrid(const GtkWidget *grid, GtkWidget *previousKey, const std::string &keyText)
Definition: showmetadata.cc:33