Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ff-plugins-active/windowsystem
UE5 external window creation system with runtime file drag drop support.
https://github.com/ff-plugins-active/windowsystem
drag-and-drop file import metaverse runtime ue4 ue4-plugin ue5 ue5-plugin ui ui-components unreal unreal-engine unrealengine userinterface widget window windows
Last synced: about 2 months ago
JSON representation
UE5 external window creation system with runtime file drag drop support.
- Host: GitHub
- URL: https://github.com/ff-plugins-active/windowsystem
- Owner: FF-Plugins-Active
- License: mit
- Created: 2022-05-23T18:58:23.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-16T22:24:53.000Z (over 1 year ago)
- Last Synced: 2023-09-20T22:56:23.843Z (over 1 year ago)
- Topics: drag-and-drop, file, import, metaverse, runtime, ue4, ue4-plugin, ue5, ue5-plugin, ui, ui-components, unreal, unreal-engine, unrealengine, userinterface, widget, window, windows
- Language: C++
- Homepage:
- Size: 832 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PURPOSES AND FEATURES:
- Runtime external window creation with UMG support.
- Runtime **Save and Select File Dialogs**
- File drag drop supports for main game window and external windows. It returns, content paths and content locations.
- If operating system is **Windows 11**, created windows will have **rounded corners**.
- Hover, window move and close detection events.# USAGE:
- Place **BP_Template_WinMan** to world. This is your window manager.
- It is in **Plugins/WindowSystem/Content/BPs**
- You can create a new one based on your needs.
- It has to be only **one manager actor** in scene.- Create and construct your widget.
- **Spawn Actor From Class** (use **EachWindow** class)
- Connect your manager and widget to **Spawn Actor From Class**
- Set your settings
- You have to give a unique tag **(optionally meaningful)** to your window.- All window control functions are virtual functions of spawned EachWindow class object.
- You can access all created windows with **Manager->MAP_Windows (FName, AEachWindow)**. If you know the tag of window which you want to control, you can access it from this map.
- If you want to enable file drag drop feature for created window, you have two options.
- You can enable it when set enable **bIsFileDropEnabled** boolean on **Spawn Actor from Class**
- You can enable it in the future with **Set File Drag Drop Support** function.
- If you want to enable file drag drop feature for main window, just enable **bAllowMainWindow** boolean anytime.# DISCLAIMER
- If you close your window accidentally, you will lost your widget as well. This can trigger errors and even crashes with other mechanics which depends on these widgets.
- If you use **HideFromTaskBar** features and accidentally throw your window to the backward, you will have to bring it back with **Bring Window Front**# ADDITIONAL CONTROL FUNCTIONS FOR WINDOWS
- Take Screenshot of Window- **(Variable)** WindowTag
- **(UMG Widget Variable)** ContentWidget- Set Window Opacity
- Set Window State **(Minimmized / Restored / Maximized)
- Set Window Shape **(Give new position and or size with an animation)**
- Set Window Position
- Set Window Title- Get Window State **(returns enums Minimized / Restored / Maximized)**
- Get Window Position **(return screen position as FVector2D)**
- Get Window Title- Is Window Top Most
- Bring Window Front- Toggle Top Most Option
- Toggle Show On Task Bar
- Toggle Opacity- Set File Drag Drop Support
- **(Event)** On Window Hovered
- **(Event)** On Window Moved
- **(Event)** On Window Closed# ADDITINAL FUNCTIONS FOR GENERAL USAGE
- Get Main Window Title
- Set Main Window Title
- Select File Dialog
- Save File Dialog# WINDOW VARIABLES:
- Is Top Most- Has Close
- We recommend to set this false. Because if user close a runtime generated window, all contents and its referances will be gone. So, use it with cautious.- Force Volatile
- Preserve Aspect Ratio
- When user change size of that window, should window preserve it's aspect ratio or not.- Minimized
- Create window as minimized or not.- Supports Maximize
- Supports Minimize
- Set Mirror Window
- In Window Tag (You should absolutely set this with a meaningful and unique tag without space. Because we use this to record and get windows)
- In Window Title
- If you give a title, it will be visible on window's title bar.
- It is different than WindowTag as variable aspect but you can use same value.
- You can use more readable values with it.- In Tooltip
- When user hovered that window, there will be additional information as tooltip.- Window Size
- Minimum Size
- Minimum acceptable size for that window.- Window Position
- Border Thick
- Thickness between frame and UMG content.- In Opacity
- Initial opacity value of that window.# PLATFORM:
- This plugin created only for **Windows** operating system and **Unreal Engine 5.**