Hi there!
I’ve been inspired by some modern design of some Japanese watches so I wanted to develop a Blender interface component that works like this - visually represents a figure. After setting-up the figure (number) can be used as it may fit. While in processing mode, the number is integer but if a float is needed => it can easily be converted into a float number So far this feature is a way static and works (represents) with a 4-digit numbers, i.e. in range (0-9999). There is a special function (all graphically implemented) to represent 10000 which is the ceiling so far. I call it Jap-visual component or Jap-style digits (ref. the Jap watches design). This component-look new interface object is put into a module for purposes of re-use. It is unfinished, so pls just check it out how it work and say if you like the approach
It looks like this:
How it works?
First off it is activated by clicking on the second toggle button. It starts with a value which is written to the right. Clicking with the mouse on the digit-bars will change the value. The use is rather intuitive, I think, sooo just try it The bigger the corresponding digit is the longer blue is shown in corresponding digit-bar, while red is background for ensuring a good contrast. Clicking on the green area at left side of each digit-bar means 10 at that position so the digit-bar clicked is cleared and its adjacent to the left is increased by 1. The “0” (zero) at certain digit-bar is achieved when clicking closely outside to it, to the right. The overall “0” (zero) value is achievable by nullifying each digit-bar. The ceiling, 10000, is achievable by clicking once on the left-most green stripe or a lot of clicking on other green strips I have the idea to visually mark representation of ceiling (in contrast with overall “0”) by changing the color of green stripes to orange or white, for example… So far it is not implemented… At present, digit-bars are implemented in a way to take a whole strip with height = their height.
Also, I’ve been working lately on developing the idea to pack away procs needed for dealing with script’s interface. Usually, for a nice interface, these take some several hundreds row of code. I did this for the interface I am now showing you --> everything else needed for its work is put into the “Inferface” module. I know that this creates even more trouble for the developers, including myself, but the pay-off is more scripts since a lot of rows of code are actually OUTSIDE the main script + there is a simple re-use possibility of almost 2/3 of interface related procedure in the same Interface module.
How to use it (the Interface module)?
Like any other module, just download it from here and place it into your Scripts directory, for example. Then it will be accessible like any other module such as Blender, bpy, etc… So far I havent made an interface (a list of procs in the module) to enable others use what they want cause it is in a very early development stage. Pls just test it work… So far - for dealing with just THIS interface - there are 400 rows of code in that module. Should the idea prove to be a GOOD one, it will be developed.
Here is the code of the main script and here is a testing .blend file incl. the script.
Pls note that some issues are not perfect in THAT script and there may be some remaining commands from my previous testing…
C & C welcome…