Quick GUI for your own utilities - user-interface

What do you guys use if you want to make a quick and dirty Windows GUI as a utility helper for your coding? I had been using AHK but since I do a lot of work in C# I wondered if it were more convenience.
Basically I'm looking for the simplest way to pop a window with some fields and do a little text processing in a Windows desktop environment.

Python and tkinter, or tcl/tk is what I use.

I like to use Linqpad for code prototyping and small tests. Even though its meant for more database stuff, I'm sure you could punch out a GUI really fast in there and save it for future testing. It has a lot of support for C#, but also quite a few other languages. Not sure if this is what you're looking for, but that's what I would use.

Related

How to clear console in Windows

I want to clear the console
I tried using this, but it doesn't work for Windows
print!("\x1B[2J");
Is there an easy way to clear the console?
I think I need some clarification first, on what you're attempting to do. Regardless, this is my best attempt at answering your question <3
Preamble
Given that different terminals work differently and have different APIs, I think you probably will want to use a crate that provides this functionality in a cross-plaform manner.
I'm assuming from here on that you want cross-platform functionality and that you don't mind using external dependencies. If this is correct, you might be happy to know that the terminal interaction crates are actually really developed in the Rust ecosystem. I have heard only good things about them.
With that out of the way, let's move on.
Do you want to just perform actions on the terminal?
If you just want to perform some actions on the terminal, like "clearing", "scrolling", "moving the cursor" and whatnot, I think you will be satisfied with the terminal crate. It allows to perform many actions, like clearing, independently of the platform you're in. It also allows for using interactivity features like interacting with the Mouse and the Keyboard :3
Or do you want to write a GUI for the terminal?
If what you want to do is write a Console-based User Interface though, I think that what might work for you instead is the tui crate. It has all of what you need to build terminal GUIs, from clearing of the console up to graphical widgets. Tools like gitui are written with tui.
Did I answer your question? Feel free to follow up if I fell short :)
I've found a way to clear the console in rust
By using console crate, console.clear() method

need to make a simple Windows app, what languague should I use?

I need to make s very simple app, with a canvas where the user would be able to drag & drop PNG files, drag, scale and rotate them on the canvas and export to XML their name & coordinates.
I'm pretty good at Android(java) programming, but as I just tried plain java with windowsBuilder for the first time, it appeared to be rather inconvenient and probably would take at least a few days to find my way around in it.
So I thought, maybe you could suggest some simple "program maker" style language/ide that could be quickly picked up for such purpose?
Right now I'm thinking of Flash... any other ideas?
Thanks!
I would go with C#, with the .NET framework.
As you already know Java, it shouldn't be that hard, as C# is also an object-oriented language.
They are some differences, of course, and I won't explain them here.
But if you want a real Windows app, it may be your best choice, as you'll then have access to all the Windows features through the .NET framework.
Everything is very well documented.
You can also choose C++ (managed), but it might be a little harder, coming from Java.
About the IDE, simply use VisualStudio (the express edition is free).
Hope this will help.
I learned JavaScript (I know it's not Java, but similar nonetheless and still object oriented) first and then C++. The transition was quite easy since both are more-or-less object oriented. Like Macmade said, Visual Studio is great to begin, but I prefer using gedit and then compiling with G++. It's more forgiving than Visual Studio and you don't have to create a project and whatnot just to start writing the code. With a text editor like gedit and a standalone compiler, G++, it's much easier to just write the code and then build the program.
I'd stay away from Flash. I know AS2/3 pretty well and I can say that C is much easier to code, at least for me. Everyone has their personal preferences, though. One plus to C is you don't have to buy Flash.

jquery or alike code generator

I'm looking for code generator that will help me to create mockup for web based GUI. I need to support tabs, buttons lists etc .. I don't care which technology used.
Something similar to MFC/QT or any another GUI libraries usually provided as part of IDE.
I'm don't have any knowledge in java scripts/HTML and want something very simple that i can use for GUI prototyping.
Thanks in advance.
Unless you need to get "fancy" with you GUI (in which case it's doubtful there's a rapid prototyper for it) it will look very similar to anything you'd build with native widget toolkits. MFC and QT already support tabs, buttons and lists.
Barring that, Dreamweaver or heck even Frontpage can probably do what you want. It would be advisable to gain some knowledge of HTML and JS before starting your endeavor; unless of course you're paying a programmer who does ;)

How create custom user interface for Windows?

There are many applications for Windows these days that don't use native windows controls, don't have standard window frames and generally look different. What are some recommended techniques for creating such interfaces?
There are good reasons not to. Like that you will most likely not do a better job than Windows does. (Maybe it will look better (in your opinion), but will it behave?). Or that it's not what most users expect. Or that it will look like s**** on Windows 2011.
That said, it's not hard. You simply handle the WM_NC* events like WM_NCPAINT or WM_NCHITTEST. NC stands for Non Client (window area). And of course, there is a trick on Vista/Win7 (you have to announce it to the DWM).
From an implementation aspect, you could employ WPF (Windows Presentation Foundation) assuming you code for .NET :) It has pretty bunch of skinnable controls, that may look like native and may not.
From a design aspect, if your interface isn't going to follow documented standards (like the Windows UI guidelines), it has to be intuitive. I think the new generation of Windows applications will go through a growing phase in a manner similar to the early days of the Web. After a time, some standards or common themes will evolve.
Can you give us some sample applications? Some apps that don't use native windows controls use cross-platform GUI libraries, like Qt for C++ or Tkinker. These maintain the same look across different platforms.
I wouldn't really recommend making your user interface different deliberately. You don't stand to gain much. Your controls are almost always going to be buggier than native controls, and you are requiring the user to learn something new. Now, if you're controls add a large enough value to be worth the users' time it can be okay. But making them get used to different looking buttons is rarely worth it.
I`m not sure if this answer your question.
You can use third party skinning controls like from Infragistics, or SkinSoft for example.
But like Bubba said I`d recommend going for WPF.
Model-View-Controller! It's as valuable here as in web apps or anywhere else. Be sure to keep the part of your program that generates the custom UI separate from the part of your program that flashes the BIOS.
I know this question is 10 years old but none of the answers mention using an option in visual studio, dont know if it existed at the time.
Theres an option to remove the border of the window in visual studio (called borderStyle). Thats the easiest way to do it, using C#. After removing the border, all you have to do is create a new interface. If you're looking to do it in C++, i think you need to use DWM. I will let an example i found here.
https://github.com/melak47/BorderlessWindow
Another example (maybe without DWM? didnt test):
https://social.msdn.microsoft.com/Forums/vstudio/en-US/b98c4c06-9581-44d3-8e5a-4adb2316e653/win32-about-styles-how-can-i-do-a-borderless-window?forum=vclanguage
There is a lot of people disencouraging to do it in this thread but there's no reason to not do it, if you know what you're doing your application can look great.

Script generation using GUI

Is there an example for a project a GUI fro script generation?
The idea is to let a non-programmer use a front end to enter command and simple logic that will translated to runnable
scripts.
The programming language does not meter.
thanks
I would use Qt + python, but the constrains you give are too general. simple logic could not be simple at all.
One of the best example of a GUI that generates scripts that I've seen so far is Apple's Automator. It's good not in the sense that it is has lots of features but that it is intuitive enough that many non-programmers use it to automate tasks. It is basically a flashy implementation of the unix pipe paradigm.
Another successful tool in term of getting non-programmers to write programs is Adobe Photoshop's Actions. It also basically emulates the unix pipe paradigm.
I've personally never seen anything that breaks the pipe paradigm successfully convince non-programmers to write programs. Apart from Excel spreadsheet equations of course - but that is just horrifying to write programs in.
There's no script behind the scenes, but the Grasshopper plug-in for the Rhinoceros CAD system allows you to create algorithms purely visually.
Grasshopper User Forums
It's got an extensive Video and Image gallery which often features the GUI.
I assume you ask for education purposes. Then LOGO is a good option (targeted towards children though).
Edit:
As you say, you want such a thing for an enterprise-like application. I'd go for some markup format such as YAML or XML. The script would be directly editable and be in a well-known language such as Python or Groovy. There might be existing GUI tools for markup languages. If you take this approach, please let me know good examples of such GUI tools.
Specifically for business rules of course there are things like Drools.

Resources