comparison dw.hpp @ 2941:7a057db0bd36

C++: Fix Container signals on GTK by moving the signal setup... from the constructor to the Setup() function. Be sure to pack the Container or Filesystem widget before calling Setup().
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 01 Jan 2023 05:50:08 +0000
parents 60e90b783cb1
children edb4307ac7ce
comparison
equal deleted inserted replaced
2940:60e90b783cb1 2941:7a057db0bd36
1644 1644
1645 class Container : public Containers 1645 class Container : public Containers
1646 { 1646 {
1647 public: 1647 public:
1648 // Constructors 1648 // Constructors
1649 Container(unsigned long id, int multi) { SetHWND(dw_container_new(id, multi)); SetupObjectView(); SetupContainer(); } 1649 Container(unsigned long id, int multi) { SetHWND(dw_container_new(id, multi)); }
1650 Container(int multi) { SetHWND(dw_container_new(0, multi)); SetupObjectView(); SetupContainer(); } 1650 Container(int multi) { SetHWND(dw_container_new(0, multi)); }
1651 Container() { SetHWND(dw_container_new(0, FALSE)); SetupObjectView(); SetupContainer(); } 1651 Container() { SetHWND(dw_container_new(0, FALSE)); }
1652 1652
1653 // User functions 1653 // User functions
1654 int Setup(unsigned long *flags, const char *titles[], int count, int separator) { return dw_container_setup(hwnd, flags, (char **)titles, count, separator); } 1654 int Setup(unsigned long *flags, const char *titles[], int count, int separator) {
1655 int retval = dw_container_setup(hwnd, flags, (char **)titles, count, separator);
1656 SetupObjectView(); SetupContainer();
1657 return retval;
1658 }
1655 void ChangeItem(int column, int row, void *data) { dw_container_change_item(hwnd, column, row, data); } 1659 void ChangeItem(int column, int row, void *data) { dw_container_change_item(hwnd, column, row, data); }
1656 int GetColumnType(int column) { return dw_container_get_column_type(hwnd, column); } 1660 int GetColumnType(int column) { return dw_container_get_column_type(hwnd, column); }
1657 void SetItem(int column, int row, void *data) { dw_container_set_item(hwnd, allocpointer, column, row, data); } 1661 void SetItem(int column, int row, void *data) { dw_container_set_item(hwnd, allocpointer, column, row, data); }
1658 }; 1662 };
1659 1663
1664 Filesystem(unsigned long id, int multi) { SetHWND(dw_container_new(id, multi)); SetupObjectView(); SetupContainer(); } 1668 Filesystem(unsigned long id, int multi) { SetHWND(dw_container_new(id, multi)); SetupObjectView(); SetupContainer(); }
1665 Filesystem(int multi) { SetHWND(dw_container_new(0, multi)); SetupObjectView(); SetupContainer(); } 1669 Filesystem(int multi) { SetHWND(dw_container_new(0, multi)); SetupObjectView(); SetupContainer(); }
1666 Filesystem() { SetHWND(dw_container_new(0, FALSE)); SetupObjectView(); SetupContainer(); } 1670 Filesystem() { SetHWND(dw_container_new(0, FALSE)); SetupObjectView(); SetupContainer(); }
1667 1671
1668 // User functions 1672 // User functions
1669 int Setup(unsigned long *flags, const char *titles[], int count) { return dw_filesystem_setup(hwnd, flags, (char **)titles, count); } 1673 int Setup(unsigned long *flags, const char *titles[], int count) {
1674 int retval = dw_filesystem_setup(hwnd, flags, (char **)titles, count);
1675 SetupObjectView(); SetupContainer();
1676 return retval;
1677 }
1670 void ChangeFile(int row, const char *filename, HICN icon) { dw_filesystem_change_file(hwnd, row, filename, icon); } 1678 void ChangeFile(int row, const char *filename, HICN icon) { dw_filesystem_change_file(hwnd, row, filename, icon); }
1671 void ChangeItem(int column, int row, void *data) { dw_filesystem_change_item(hwnd, column, row, data); } 1679 void ChangeItem(int column, int row, void *data) { dw_filesystem_change_item(hwnd, column, row, data); }
1672 int GetColumnType(int column) { return dw_filesystem_get_column_type(hwnd, column); } 1680 int GetColumnType(int column) { return dw_filesystem_get_column_type(hwnd, column); }
1673 void SetColumnTitle(const char *title) { dw_filesystem_set_column_title(hwnd, title); } 1681 void SetColumnTitle(const char *title) { dw_filesystem_set_column_title(hwnd, title); }
1674 void SetFile(int row, const char *filename, HICN icon) { dw_filesystem_set_file(hwnd, allocpointer, row, filename, icon); } 1682 void SetFile(int row, const char *filename, HICN icon) { dw_filesystem_set_file(hwnd, allocpointer, row, filename, icon); }