-
Posts
26 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Posts posted by TheHellTower
-
-
Yeah I see but I tried the redraw it didn't work on my side to automatically do it and I want to avoid creating multiple elements just to get a different style, I personally think the style should stay accessible but modify the style system to automatically redraw.
-
Well so I just tried your solution and it doesn't work better unfortunally but doesn't matter thanks anyway I will just leave this idea
-
2 minutes ago, Josh said:
Okay, well it's my fault, mostly... 😄
In Ultra Engine I got a lot more strict with which members are public and private, and "style" is not meant to be changed once the widget is created. With text fields the style is pretty simple but some other widgets change dramatically in appearance and behavior depending on the style settings they were created with.
A simple hack is to call Widget->Redraw() after you change the style, and in this case it will probably be fine.
For a forward-compatible solution I would create two text fields and hide and show them based on the current setting. You can get and set the precise text selection position and length so they will match seamlessly when you switch between them.
Yeah I see and I think it's a bad thing to make it private, I wanted to make a kind of "Hide sensitive info" checkbox it's a kind of "stream" protection we will say to avoid any leak of important data.
But thanks for this solution too
-
10 minutes ago, Josh said:
Wait, how did you change the style???
I feel like you will kill me haha but it's a very simple and dumb way: https://i.imgur.com/Ceb08E8.png
-
Hello, so I seen in UAK the text field styles are not updating automatically we need to modify the text, if there is any other element that has this style update issue take it in count as element for the next update if you plan this one.
So I suggest for Ultra Engine to rework the styling system to automatically apply the new styles.
It would be better !
Video showing the problem: https://i.imgur.com/mVCFOgP.mp4
-
2 minutes ago, reepblue said:
Hopefully there can be a window function that does this cross platform. This is useful to ensure a window is shown on top after a splash window.
That would be nice yeah but then it would be better if you can pass a boolean to set it top most or no, but I personally prefer when splash are top most I don't think it's really important for software form itself.
The "Vectronic" topic doesn't exist anymore in your signature !
-
Final:
if (THTtmcb->GetState() == WIDGETSTATE_SELECTED) { SetWindowPos(window->GetHandle(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); } else if(THTtmcb->GetState() == WIDGETSTATE_UNSELECTED) { SetWindowPos(window->GetHandle(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); }
- 1
-
9 minutes ago, Josh said:
Ah, okay. You can use GetHandle() and start using the Win32 API. This won't be cross-platform, but it will work on Windows:
SetWindowPos(window->GetHandle(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
https://stackoverflow.com/questions/14989062/set-a-window-to-be-topmost
Yeah at start I searched for a handle then I was thinking if it would work with UAK but yeah perfect then thanks !
-
2 minutes ago, Josh said:
I think Window::Activate() will select the window and bring it to the top.
Well the problem is I don't want to bring it to the top with a loop but I want to make it top most until I uncheck the checkbox
-
Hello,
I can't find out how to make my window top most, does anyone know how to make the window top most if a checkbox is selected ?
Because the code see if it's selected or no but I can't find any element to make it top most.
Regards.
-
Oh okay thanks
-
Well I would like to know how because I can't find the option
-
1 minute ago, Josh said:
You can still use it just for a GUI application, without initializing graphics or requiring drivers. The executables are a little bit bigger than UAK, but still pretty small, around 6 mb when UPX compression is used.
Perfect ! The final output size doesn't really matter for me as long as it work but yeah probably some users would like it to be optimized as much as possible and the smallest possible but it's not really that simple so it's perfect already
-
4 minutes ago, Josh said:
Well, right now it's an SDK. A visual editor is in development, and once that is out I think will mark the point where it will no longer be considered "early access":
https://www.ultraengine.com/community/blogs/entry/2801-ultra-engine-sdk-early-access-now-available/?tab=comments#comment-15305I don't have an expected release date, but it's coming along pretty quickly.
Okay perfect, will Ultra Engine only be for games or will I be able to make a program GUI with it ? Since it will be the only updated I'm interested in it
-
Hello, I seen that tabs are very basic, so I thought about something !
For example let's say we start with "Tab 1" and "Tab 2", would it be possible to make a kind of tab template and add a managing system around it ?
I will try to explain better:
A "+" to add a new tab and a close button to remove it ! With title that would be logical so for example if default set title is "Tab" the second would be "Tab 2" or something like this
Hopefully it is a great idea for you !
- 1
- 1
-
Just now, Josh said:
All future development will be in Ultra Engine.
Okay thanks ! Any date for the stable paid release ?
-
And do you plan to update UAK or not anymore and only focus on Ultra Engine ?
-
1 minute ago, Josh said:
No, Ultra Engine is C++. The .NET stuff in that repository is from the Unity project.
Oh okay thanks for claryfying this ! It would've had been a lot of work to rewrite the entire for another language thing anyway
-
2 minutes ago, Josh said:
UAK was released about 1.5 years ago when I finished the GUI system but had not finished the full 3D engine yet, so I released what I had for GUI application development. Now that the full engine is released I decided to make UAK free.
Ultra Engine is currently in "early access" so there's no big demos of what it can do, but what it does offer is extremely good performance. You can try the benchmarks here if you like:
https://github.com/UltraEngine/BenchmarksYeah I like UAK's style and I'm glad I discovered it you did a amazing work ! So UAK is for C++ and Ultra Engine for .Net ? If yes sadly I will not be able to take it as I want to release a free access product without having to care too much about security since you can decompile .Net apps
-
2 minutes ago, Josh said:
Well, UAK is free but Ultra Engine is not free:
https://www.ultraengine.com/community/store/category/1-software/UAK is also compiled for Linux and Mac, but Ultra Engine does not yet support these platforms (although it is planned to in the future).
Also, UAK has a 64 and 32-bit build for Windows, but Ultra Engine is 64-bit only.
Oh okay I see basically UAK is a kind of free version of Ultra Engine if I get it correctly !
Yeah for the moment I will not buy it, it's just for a small project in free access I can't really take this right now but why not later, is there any place where I can see detailed demo of Ultra Engine ?
-
1 minute ago, Josh said:
You are using Ultra App Kit from Steam, right? It's an older build. There's a couple of small API changes that were made for Ultra Engine, which is basically UAK + Vulkan graphics.
Oh then how am I supposed to use the last version ? I would like to be up to date it's better in my opinion
-
Hello, I think you should add a "Mark as Answer" option so it would add something around the message to make it "more" visible than others and why not preview it under the thread question with the possibility to click on it to go directly to the message place
- 1
- 1
-
I seen that multiple code example are not really up to date, should I fork the documentation repository and make a PR to fix some ?
-
5 minutes ago, Josh said:
Here you go.
You were calling Hidden() instead of Hide/Show().
#include "UltraEngine.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { auto displays = GetDisplays(); auto window = CreateWindow("Joked", 0, 0, 800, 600, displays[0], WINDOW_TITLEBAR | WINDOW_CENTER); auto ui = CreateInterface(window); auto sz = ui->root->GetSize(); auto tabber = CreateTabber(10, 10, sz.x - 20, sz.y - 20, ui->root); tabber->AddItem("Main", true); tabber->AddItem("Settings"); std::array<std::shared_ptr<Widget>, 3> panels; sz = tabber->ClientSize(); panels[0] = CreatePanel(0, 0, sz.x, sz.y, tabber); panels[0]->SetColor(54.0 / 255.0, 57.0 / 255.0, 63.0 / 255.0, 1); panels[1] = CreatePanel(0, 0, sz.x, sz.y, tabber); panels[1]->SetColor(0.1, 0.15, 0.1, 1); panels[1]->Hide(); auto textfield = CreateTextField(20, 20, 300, 32, panels[0], TEXTFIELD_DEFAULT); textfield->SetText("Here is some text!"); textfield->SelectText(0, textfield->text.size()); //auto scriptEditing = CreateTextField(20, 20, 400,40, ui->root); while (true) { const Event ev = WaitEvent(); switch (ev.id) { case EVENT_WIDGETACTION: Print("Item " + String(ev.data) + " action"); break; case EVENT_WIDGETSELECT: if (ev.source == tabber) { for (int n = 0; n < tabber->items.size(); ++n) { n == ev.data ? panels[n]->Show() : panels[n]->Hide(); } } break; break; case EVENT_QUIT: case EVENT_WINDOWCLOSE: return 0; break; default: break; } } return 0; }
Thanks haha the tab example was not up to date so I did guess it was the good call
Automatically apply new text field styles
in Suggestion Box
Posted
Yeah thanks !