Skip to content

Commit ec80979

Browse files
authored
Merge pull request #1315 from KeyWorksRW/release_prep
1.2.0 Release preparation
2 parents e4629cc + 87cc04f commit ec80979

12 files changed

+40
-58
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Change Log
22
All notable changes to this project will be documented in this file.
33

4-
## [Uneleased (1.2.0)]
4+
## [Released (1.2.0)]
55

66
### Added
77

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.20)
22

33
project(wxUiEditor
44
LANGUAGES CXX
5-
VERSION 1.1.3
5+
VERSION 1.2.0
66
DESCRIPTION "wxWidgets UI designer"
77
HOMEPAGE_URL "https://github.com/KeyWorksRW/wxUiEditor")
88

README.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ![logo](src/art_src/logo64.png) wxUiEditor
22

3-
This WYSIWYG tool is used to create and maintain [wxWidgets](https://docs.wxwidgets.org/trunk/index.html) UI elements (dialogs, menus, etc.), generating either C++, Python or XRC code. Minimal requirement for compiling C++ output files is a C++11 compliant compiler and **wxWidgets** 3.0 (version 3.2 needed for full functionality). Minimal requirement for Python code is wxPython 4.2.
3+
This WYSIWYG tool is used to create and maintain [wxWidgets](https://docs.wxwidgets.org/trunk/index.html) UI elements (dialogs, menus, etc.), generating either C++, [wxPython](https://wxpython.org/), [wxRuby3](https://github.com/mcorino/wxRuby3) or XRC code. It supports almost all of the wxWidgets UI controls along with bitmap bundles and SVG files.
44

55
In addition to creating new projects, the following project types can be imported:
66

@@ -12,36 +12,32 @@ In addition to creating new projects, the following project types can be importe
1212
- **XRC** (including exports from **DialogBlocks**)
1313
- **Windows Resource Dialogs** (Click [here](docs/import_winres.md) for more information)
1414

15-
**wxUiEditor** is a 64-bit app that runs natively on Windows 10 or later, and with **Wine** on Unix systems.
16-
1715
## Status
1816

1917
[![CodeQL](https://github.com/KeyWorksRW/wxUiEditor/workflows/CodeQL/badge.svg)](https://github.com/KeyWorksRW/wxUiEditor/actions?query=workflow:"CodeQL") [![GitHub tag](https://img.shields.io/github/tag/KeyWorksRW/wxUiEditor?include_prereleases=&sort=semver&color=blue)](https://github.com/KeyWorksRW/wxUiEditor/releases/)
2018

2119
## Building
2220

23-
It's fine to create a `build/` directory in the root of the repository as .gitignore tells git to ignore it.
24-
25-
You will need a C++20 compliant compiler to build **wxUiEditor**. To build, run the following two commands from the root of the repository:
21+
You will need a C++20 compliant compiler to build **wxUiEditor**. To build using CMake 3.20 or higher, run the following two commands from the root of the repository:
2622

2723
```
2824
cmake -G "Ninja Multi-Config" . -B build
2925
cmake --build build --config Release --target wxUiEditor
3026
```
3127

32-
For Unix builds, you will currently need a minimum of gcc 11.4 to be able to compile the sources.
28+
For Unix builds, you currently need a minimum of gcc 11.4 to be able to compile the sources. After building, you can can change to the build/ directory and run `cpack -G DEB -C Release` or `cpack -G RPM -C Release` to create a Ubuntu or Fedora package.
3329

34-
See [Developer notes](docs/DEV_NOTES.md) for more information about the current branches, and some high level overview of the code.
30+
See [Developer notes](docs/DEV_NOTES.md) if you want information about contributing to the project.
3531

3632
## Licenses
3733

3834
- All KeyWorks Software code uses the Apache License 2.0 [LICENSE](LICENSE).
3935
- The pugixml code uses a MIT [LICENSE](pugixml/LICENSE.md).
4036
- The rapidjson code uses a MIT [LICENSE](src/import/rapidjson/license.txt).
41-
- The wxWidgets code in the wxSnapshot module uses the wxWindows [LICENSE](wxSnapshot/License.txt).
37+
- The wxWidgets code uses the wxWindows [LICENSE](wxWidgets/License.txt).
4238

4339
## Screen shots
4440

45-
The following is a screen shot of **wxUiEditor**:
41+
The following is a sample screen shot of **wxUiEditor** showing the Event handler dialog and an example of one of the drop-down lists of controls:
4642

4743
![image](screenshot.jpg)

docs/DEV_NOTES.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
# Developer notes
22

3-
If you are planning on contributing code, the following sections contain information about the code that might not be immediately obvious. Reading these sections may make the code easier to understand, as well as ensuring that PR's are written in a way that matches the rest of the code base. In addition, some of the directories also have README files that provide explanations specific to the files in that directory. See [generate](../src/generate/README.md), [nodes](../src/nodes/README.md), [winres](../src/winres/README.md) and [xml](../src/xml/README.md).
3+
Contributions are welcome! If you are interested in contributing, please read the following sections.
44

5-
Note that the code requires a C++20 compliant compiler -- which means you should be using C++20 coding conventions. That includes using `std::string_view` (or `tt_stringview`) for strings when practical. See the **Strings** section below for information about working with `wxString`.
5+
Note that in addition to this file, some of the directories also have README files that provide explanations specific to the files in that directory. See [generate](../src/generate/README.md), [nodes](../src/nodes/README.md), [winres](../src/winres/README.md) and [xml](../src/xml/README.md).
66

7-
## wxWidgets libraries
7+
The code requires a C++20 compliant compiler -- which means you should be using C++20 coding conventions. That includes using `std::string_view` (or `tt_stringview`) for strings when practical. See the **Strings** section below for information about working with `wxString`.
88

9-
Abbreviated versions of wxWidgets 3.2 and 3.3 are part of the repository. These versions generally only contain source and header files, and they are built with a custom CMakeLists.txt file. The default is to build with `wxSnapshot/` which is a subtree of `https://github.com/KeyWorksRW/wxSnapshot.git` which contains a development version of wxWidgets 3.3. This is _not_ necessarily a release version of wxWidgets -- it's being used to get Dark mode and UTF8 when building on Windows.
9+
## wxWidgets libraries
1010

11-
The `wxWidgets/` directory contains a snapshot of wxWidgets 3.2. At some point, it may not be possible to build wxUiEditor with this library, but it will still be available for building the projects in the `tests/` directory.
11+
The `wxWidgets/` directory contains a snapshot of wxWidgets 3.3.x. Note that the `setup.h` file used to build this is fairly restritctive, avoiding many sections of the library that aren't used by wxUiEditor. This particular build is not intended to be used for anything other than wxUiEditor.
1212

1313
## Debug builds
1414

1515
When you create a Debug build, there will be an additional `Testing` and `Internal` menu to the right of the **Help** menu that will give you access to additional functionality for easier debugging. You can also get these menus in a Release build if you set INTERNAL_BLD_TESTING to true in your CMake configuration.
1616

1717
## Strings
1818

19-
Internally strings are normally placed into `tt_string` or `tt_stringview` classes. These classes inherit from `std::string` and `std::string_view` respectively, and provide additional functionality common across both of these classes. When you need to convert a tt_string or tt_stringview to a wxString to pass to wxWidgets, use the method `make_wxString()`. If you need to pass a wxString to tt_string, use `utf8_string()`. These two methods ensure that UTF8/16 conversion is correctly handled on Windows. It also ensure a seamless transition between wxWidgets 3.2 and 3.3 where the underlying wxString is changed from UTF16 to UTF8.
19+
Internally strings are normally placed into `tt_string` or `tt_stringview` classes. These classes inherit from `std::string` and `std::string_view` respectively, and provide additional functionality common across both of these classes. Note that the wxWidgets library is built as UTF8 even on Windows (new option in wxWidgets 3.3).
2020

2121
### Debugging macros
2222

docs/building_notes.md

Lines changed: 0 additions & 27 deletions
This file was deleted.

docs/import_dialogblocks.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,3 @@ wxUiEditor can only import a DialogBlocks project if it was saved as an XML file
66
2) Either click the Settings toolbar button or choose the Settings command from the View menu
77
3) In the Settings dialog, select Project and check "Save as XML"
88
4) Click OK and then click the Save toolbar button or the Save Project command from the File menu
9-
10-
As an alternative, you can also use DialogBlocks to export your project as an XRC file. However, the XRC will usually contain less information and the wxUiEditor-generated code may not work the same as the DialogBlocks-generated code.

docs/release_prep.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## Version change
2+
3+
Updating the version of wxUiEditor means changing the version number in the following files:
4+
5+
- pch.h
6+
- wxUiEditor.rc
7+
- wxUiEditor.exe.manifest
8+
- CMakeLists.txt (change VERSION at the top of the file)
9+
- CHANGELOG.md
10+
11+
If new controls, properties, or other changes have been made that change the project file in a way that previous versions will not understand, then the project number needs to be increated -- `curSupportedVer` in pch.h.

screenshot.jpg

-94.7 KB
Loading

src/mainframe.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -750,10 +750,14 @@ void MainFrame::OnAbout(wxCommandEvent&)
750750
}
751751

752752
aboutInfo.SetDescription(description);
753-
aboutInfo.SetCopyright(txtCopyRight);
754753
aboutInfo.SetWebSite("https://github.com/KeyWorksRW/wxUiEditor");
755754

756-
aboutInfo.AddDeveloper("Ralph Walden");
755+
aboutInfo.SetCopyright(txtCopyRight);
756+
757+
#if 0
758+
// Save this for when/if other people contribute to the project
759+
aboutInfo.AddDeveloper("Randalphwa");
760+
#endif
757761

758762
aboutInfo.SetIcon(wxueBundleSVG(wxue_img::wxUiEditor_svg, 1943, 7265, wxSize(64, 64)).GetIconFor(this));
759763

src/pch.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@
3535

3636
#include <wx/defs.h> // Declarations/definitions common to all wx source files
3737

38-
#if !wxCHECK_VERSION(3, 2, 0)
39-
#error "You must have wxWidgets 3.2.0 or later to build this project."
38+
#if !wxCHECK_VERSION(3, 3, 0)
39+
#error "You must have wxWidgets 3.3.0 or later to build this project."
4040
#endif
4141

4242
#if defined(__WINDOWS__)
@@ -161,7 +161,7 @@ using view_map = std::map<tt_string_view, std::string_view, std::less<>>;
161161
// When chaniging txtVersion, you also need to change the version in wxUiEditor.rc and
162162
// wxUiEditor.exe.manifest and ../CMakeLists.txt
163163

164-
constexpr const char* txtVersion = "wxUiEditor 1.1.3";
164+
constexpr const char* txtVersion = "wxUiEditor 1.2.0";
165165
constexpr const char* txtCopyRight = "Copyright (c) 2019-2023 KeyWorks Software";
166166
constexpr const char* txtAppname = "wxUiEditor";
167167

@@ -178,7 +178,7 @@ constexpr const int minRequiredVer = 15;
178178
// 1.1.0 == version 16
179179
// 1.1.1 == version 17 (beta 1 of 1.1.2)
180180
// 1.1.2 == version 18
181-
// 1.2.0 == version 19 (beta 1 of 1.2.0)
181+
// 1.2.0 == version 19 (1.2.0)
182182

183183
// Use when you need to return an empty const tt_string&
184184
extern tt_string tt_empty_cstr;

src/wxUiEditor.exe.manifest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
22
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
33
<assemblyIdentity
4-
version="1.1.3.0"
4+
version="1.2.0.0"
55
processorArchitecture="*"
66
name="KeyWorks.Software.wxUiEditor"
77
type="win32"

src/wxUiEditor.rc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ APPICON ICON "Debug.ico"
7070
//
7171

7272
VS_VERSION_INFO VERSIONINFO
73-
FILEVERSION 1,1,3,0
74-
PRODUCTVERSION 1,1,3,0
73+
FILEVERSION 1,2,0,0
74+
PRODUCTVERSION 1,2,0,0
7575
FILEFLAGSMASK 0x3fL
7676
#ifdef _DEBUG
7777
FILEFLAGS 0x1L
@@ -89,14 +89,14 @@ BEGIN
8989
VALUE "Comments", "https://github.com/KeyWorksRW/wxUiEditor\0"
9090
VALUE "CompanyName", "KeyWorks Software\0"
9191
VALUE "FileDescription", "wxWidgets GUI designer for C++/wxPython/wxRuby/XRC applications\0"
92-
VALUE "FileVersion", "1,1,3,0\0"
92+
VALUE "FileVersion", "1,2,0,0\0"
9393
VALUE "InternalName", "wxUiEditor\0"
9494
VALUE "LegalCopyright", "Copyright (c) 2019-2023 KeyWorks Software\0"
9595
VALUE "LegalTrademarks", "\0"
9696
VALUE "OriginalFilename", "wxUiEditor.exe\0"
9797
VALUE "PrivateBuild", "\0"
9898
VALUE "ProductName", "wxUiEditor\0"
99-
VALUE "ProductVersion", "1,1,3,0\0"
99+
VALUE "ProductVersion", "1,2,0,0\0"
100100
VALUE "SpecialBuild", "\0"
101101
END
102102
END

0 commit comments

Comments
 (0)