Project

General

Profile

Actions

Feature #1130

open

Migrate launcher UI to a pigtk widget.

Added by Hammel 29 days ago. Updated 3 days ago.

Status:
In Progress
Priority:
Immediate
Assignee:
Category:
General
Target version:
Start date:
17 Apr 2024
Due date:
% Done:

80%

Estimated time:
Severity:
01 - Critical

Description

The widget will allow paging, and can be re-used in a videofe rewrite.

Actions #1

Updated by Hammel 20 days ago

The launcher is just an icontable widget.

The icon table should have the following apis.

  • gtk_icontable_set_tablesize(widget, rows, cols)
  • gtk_icontable_set(widget, GSList *)
    • list data = ICONTABLE_DATA_T (icon path, title)
      struct _icontable_t {
      char *icon;
      char *title;
      } ICONTABLE_T;
      
  • GtkWidget *gtk_icontable_new(guint rows, guint cols);
  • void gtk_icontable_press( GtkWidget *icontable, int x, int y, int highlight );
  • void gtk_icontable_page_change( GtkWidget *widget, gint amount );
  • void gtk_icontable_row_change( GtkWidget *widget, gint amount );
  • GSList *gtk_icontable_get_cell( GtkWidget *icontable );
  • void gtk_icontable_set_cellpad( GtkWidget *widget, guint size );
Actions #2

Updated by Hammel 18 days ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 20

First implementation committed but it's actually untested and likely has a number of bugs.

Actions #3

Updated by Hammel 10 days ago

  • % Done changed from 20 to 80
Initial implementation has been tested and pushed.
Issues still to be resolved.
  1. Better _next_cell, _next_row and _next_page handling.
    1. Extend demo app to show these.
  2. Add a user supplied data field to GtkIconCell structure.
  3. Fix resize paint updates.
Actions #4

Updated by Hammel 10 days ago

  • Severity changed from 03 - Medium to 01 - Critical
Actions #5

Updated by Hammel 3 days ago

Need to handle paging better. When you cell fw or bw to the next page the whole widget must be updated so all labels are updated properly.

Need an option for:
  1. Disabling label overlays
  2. Setting label color (via gtkrc and API)
  3. Setting bg color (overriding gtkrc)

Need to implement row and page changes APIs properly.

Actions

Also available in: Atom PDF