Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
e318945
clean up gui dir
RobBuchananCompPhys Jul 30, 2026
84f7c33
node registry model
RobBuchananCompPhys Jul 31, 2026
1a50187
node search dialog + fixup nodes
RobBuchananCompPhys Jul 31, 2026
7b87d5d
flatter gui models dir structure
RobBuchananCompPhys Aug 4, 2026
9118fbb
change var name
RobBuchananCompPhys Aug 4, 2026
a2204de
rename var
RobBuchananCompPhys Aug 4, 2026
a10bfd7
render edges
RobBuchananCompPhys Aug 5, 2026
d91e304
remove end points
RobBuchananCompPhys Aug 5, 2026
b11ecc3
new node creation - naming convention
RobBuchananCompPhys Aug 5, 2026
e911262
refactor qml module structure
RobBuchananCompPhys Aug 5, 2026
0f12d13
graph run from menu
RobBuchananCompPhys Aug 5, 2026
563210e
make nodes slightly bigger on hover
RobBuchananCompPhys Aug 6, 2026
f052d56
slightly refactor method names, (imperfect) fix of node deletion segf…
RobBuchananCompPhys Aug 6, 2026
5f5dedc
node messages 1
RobBuchananCompPhys Aug 6, 2026
47c8520
node messages 2
RobBuchananCompPhys Aug 6, 2026
ca15c22
remove unused qml
RobBuchananCompPhys Aug 7, 2026
26843db
relay graph result to runner node; node error indicator
RobBuchananCompPhys Aug 7, 2026
4c5d05f
improve error message relay
RobBuchananCompPhys Aug 7, 2026
4c91548
small qml refactor
RobBuchananCompPhys Aug 7, 2026
6f961fc
revert configuration node to original state
RobBuchananCompPhys Aug 7, 2026
14fba09
Remove dead GUI tests and update includes in the others
rprospero Aug 17, 2026
8d4de7e
hide root i/o nodes
RobBuchananCompPhys Aug 18, 2026
024aede
find node wizard fully populated by default
RobBuchananCompPhys Aug 18, 2026
9a33a55
Find Node -> Add Node
RobBuchananCompPhys Aug 19, 2026
1558440
(rudimentary) solution to the add node -> nodes pile up in the corner
RobBuchananCompPhys Aug 19, 2026
3befeed
tidy up qml callback braces for one-liners
RobBuchananCompPhys Aug 19, 2026
2d1e694
remove debug calls
RobBuchananCompPhys Aug 19, 2026
9cc119f
fixup node internals a bit
RobBuchananCompPhys Aug 20, 2026
db18f47
parameter descriptions as tool tips
RobBuchananCompPhys Aug 20, 2026
0bd1041
refactor: Categorical `NodeRegistry` and updated QML Graph menu (#2582)
RobBuchananCompPhys Aug 21, 2026
6134199
fix: Return cubic shape to edges (#2578)
rprospero Aug 21, 2026
a178d93
don't render incompatible edges in ui
RobBuchananCompPhys Aug 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .github/workflows/package/osx/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ runs:
export PATH="$(python3 -m site --user-base)/bin:$PATH"

# Set variables
appName=Dissolve-GUI-QML-${{ runner.arch }}
appName=Dissolve2-GUI-${{ runner.arch }}
appDirName=${appName}.app
packageName=Dissolve-GUI-QML-${{ runner.arch }}-${{ inputs.currentVersion }}
packageName=Dissolve2-GUI-${{ runner.arch }}-${{ inputs.currentVersion }}

# Prepare the dmg file content
./prep-dmg -a Dissolve-GUI-QML-${{ runner.arch }} -v ${{ inputs.currentVersion }} -b build/bin/dissolve-gui-qml.app/Contents/MacOS/dissolve-gui-qml -d ${Qt6_ROOT} -i icon/icon-1024x1024.png -p build/bin/dissolve-gui-qml.app/Contents/Info.plist -q src/gui/qml
./prep-dmg -a Dissolve2-GUI-${{ runner.arch }} -v ${{ inputs.currentVersion }} -b build/bin/dissolve2-gui.app/Contents/MacOS/dissolve2-gui -d ${Qt6_ROOT} -i icon/icon-1024x1024.png -p build/bin/dissolve2-gui.app/Contents/Info.plist -q src/gui/qml

# Copy dependencies into Frameworks folder in app bundle
cp -v ./build/direct_deploy/*/lib/*.dylib ${packageName}/${appDirName}/Contents/Frameworks/
Expand All @@ -69,7 +69,7 @@ runs:
export PATH="$(python3 -m site --user-base)/bin:$PATH"

# Set variables
appName=Dissolve-GUI-QML-${{ runner.arch }}
appName=Dissolve2-GUI-${{ runner.arch }}
appDirName=${appName}.app
packageName=Dissolve-GUI-${{ runner.arch }}-${{ inputs.currentVersion }}
dmgName=Dissolve-GUI-${{ inputs.currentVersion }}-${{ runner.arch }}
Expand Down
27 changes: 10 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ endif(GUI)
if(WIN32)
set(target_name Dissolve)
set(gui_target_name Dissolve-GUI)
set(qmlgui_target_name Dissolve-GUI-QML)
set(qmlgui_target_name Dissolve2-GUI)

# Adjust external include directories for GUI
if(GUI)
Expand All @@ -176,7 +176,7 @@ endif(WIN32)
if(UNIX)
set(target_name dissolve)
set(gui_target_name dissolve-gui)
set(qmlgui_target_name dissolve-gui-qml)
set(qmlgui_target_name dissolve2-gui)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
endif(UNIX)
Expand All @@ -192,7 +192,7 @@ if(APPLE)

set(target_name dissolve)
set(gui_target_name dissolve-gui)
set(qmlgui_target_name dissolve-gui-qml)
set(qmlgui_target_name dissolve2-gui)

add_definitions(-D_MAC)

Expand Down Expand Up @@ -253,8 +253,8 @@ target_include_directories(
if(GUI)

# Dissolve QML GUI
qt_add_executable(${qmlgui_target_name} MACOSX_BUNDLE ${SRCS}/dissolve-gui-qml.cpp)
set_source_files_properties(${SRCS}/gui-qml/qml/DissolveMain.qml PROPERTIES QT_RESOURCE_ALIAS qml/DissolveMain.qml)
qt_add_executable(${qmlgui_target_name} MACOSX_BUNDLE ${SRCS}/dissolve2-gui.cpp)
set_source_files_properties(${SRCS}/gui2/qml/DissolveMain.qml PROPERTIES QT_RESOURCE_ALIAS qml/DissolveMain.qml)

qt_add_qml_module(
${qmlgui_target_name}
Expand All @@ -263,20 +263,13 @@ if(GUI)
URI
Dissolve
QML_FILES
${SRCS}/gui-qml/qml/DissolveMain.qml
${SRCS}/gui/qml/nodeGraph/ForcefieldDialog.qml
${SRCS}/gui/qml/nodeGraph/GraphView.qml
${SRCS}/gui/qml/nodeGraph/GraphDelegate.qml
${SRCS}/gui/qml/nodeGraph/ParameterDelegate.qml
${SRCS}/gui/qml/nodeGraph/NodeBox.qml
${SRCS}/gui/qml/nodeGraph/SpeciesDialog.qml
${SRCS}/gui/qml/nodeGraph/ElementComboBox.qml
${SRCS}/gui2/qml/DissolveMain.qml
RESOURCES
)

# Set project-local include directories for target (we expect to need less of these dependencies over time)
target_include_directories(
${qmlgui_target_name} PRIVATE ${PROJECT_SOURCE_DIR}/src ${PROJECT_BINARY_DIR}/src ${CMAKE_BINARY_DIR}/src/gui/gui_autogen/include
${qmlgui_target_name} PRIVATE ${PROJECT_SOURCE_DIR}/src ${PROJECT_BINARY_DIR}/src ${CMAKE_BINARY_DIR}/src/gui2/gui_autogen/include
${Qt6Core_INCLUDE_DIRS} ${Qt6Gui_INCLUDE_DIRS}
)

Expand Down Expand Up @@ -348,23 +341,23 @@ if(GUI)

# Link to models when developing QML Dissolve in Visual Studio
if(MSVC_DEV)
set(QML_GUI_LIBS models)
set(QML_GUI_LIBS models2)
endif(MSVC_DEV)

# Dissolve2 QML plugins
set(QML_PLUGINS
# QtQuick plotting library
QuickPlotplugin
# Icons (.svg)
icons_moduleplugin
icons_moduleplugin dialogs_moduleplugin controls_moduleplugin nodeGraph_moduleplugin periodicTable_moduleplugin
)

# Main Dissolve GUI
target_link_libraries(
${qmlgui_target_name}
PUBLIC ${WHOLE_ARCHIVE_FLAG} ${BASIC_LINK_LIBS}
# Module gui libs
gui-qml ${QML_GUI_LIBS} ${NO_WHOLE_ARCHIVE_FLAG} ${QML_PLUGINS}
gui2 ${QML_GUI_LIBS} ${NO_WHOLE_ARCHIVE_FLAG} ${QML_PLUGINS}
PRIVATE # External libs
Qt6::Quick3D Qt6::Qml Qt6::Widgets ${CORE_LINK_LIBS} ${THREADING_LINK_LIBS}
)
Expand Down
6 changes: 3 additions & 3 deletions ci/windows/dissolve-gui.iss
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#define MyAppVersion GetEnv('DISSOLVE_VERSION')
#define MyAppPublisher "Team Dissolve"
#define MyAppURL "https://www.projectdissolve.com/"
#define MyAppExeName "Dissolve-GUI-QML.exe"
#define MyAppExeName "Dissolve2-GUI.exe"

; Locations of bin directories of Dissolve, Qt, GnuWin, MinGW etc.
#define DissolveDir GetEnv('DISSOLVE_DIR')
Expand All @@ -27,11 +27,11 @@ AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={commonpf}\Dissolve-GUI-QML
DefaultDirName={commonpf}\Dissolve2-GUI
DefaultGroupName={#MyAppName}
LicenseFile=..\..\LICENSE.txt
OutputDir=..\..\
OutputBaseFilename=Dissolve-GUI-QML-{#MyAppVersion}-Win64
OutputBaseFilename=Dissolve2-GUI-{#MyAppVersion}-Win64
SetupIconFile=Dissolve.ico
Compression=lzma
SolidCompression=yes
Expand Down
3 changes: 1 addition & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ add_subdirectory(math)
add_subdirectory(neta)

if(GUI)
add_subdirectory(gui)
add_subdirectory(gui-qml)
add_subdirectory(gui2)
endif(GUI)

add_subdirectory(nodes)
12 changes: 8 additions & 4 deletions src/dissolve-gui-qml.cpp → src/dissolve2-gui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
// Copyright (c) 2026 Team Dissolve and contributors

#include "base/messenger.h"
#include "gui/models/dissolveModel.h"
#include "gui/models/types.h"
#include "gui2/models/dissolveModel.h"
#include "gui2/models/nodeRegistryModel.h"
#include "gui2/models/types.h"
#include "main/cli.h"
#include "main/dissolve.h"
#include "main/version.h"
Expand All @@ -22,6 +23,8 @@ int main(int args, char **argv)
DissolveModel dissolveModel;
dissolveModel.setDissolve(dissolve);

NodeRegistryModel nodeRegistryModel;

// Parse CLI options
CLIOptions options;
if (options.parse(args, argv, true) != CLIOptions::Success)
Expand All @@ -35,6 +38,7 @@ int main(int args, char **argv)

QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("dissolve", &dissolveModel);
engine.rootContext()->setContextProperty("nodeRegistry", &nodeRegistryModel);
const QUrl url(u"qrc:/Dissolve/qml/DissolveMain.qml"_qs);
Types::registerDissolveQmlTypes();

Expand All @@ -45,7 +49,7 @@ int main(int args, char **argv)

QCoreApplication::setOrganizationName("Team Dissolve");
QCoreApplication::setOrganizationDomain("www.projectdissolve.com");
QCoreApplication::setApplicationName("Dissolve-GUI-QML");
QCoreApplication::setApplicationName("Dissolve2-GUI");

// Set native siblings attribute to prevent odd rendering artefacts on some systems
app.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings);
Expand All @@ -55,7 +59,7 @@ int main(int args, char **argv)
QLocale::setDefault(QLocale::C);

// Print GPL license information
Messenger::print("Dissolve-GUI-QML {} version {}, Copyright (C) 2026 Team Dissolve and contributors.\n", Version::appType(),
Messenger::print("Dissolve2-GUI {} version {}, Copyright (C) 2026 Team Dissolve and contributors.\n", Version::appType(),
Version::info());
Messenger::print("Source repository: {}.\n", Version::repoUrl());
Messenger::print("Dissolve comes with ABSOLUTELY NO WARRANTY.\n");
Expand Down
6 changes: 0 additions & 6 deletions src/gui-qml/CMakeLists.txt

This file was deleted.

Loading