Alloy: different instances for integer - alloy

I'm new to alloy and i'm doing a little project. In the project i have some instances with different attributes that, with magic layout, i can put in the instance when showing the model. Is there a way to do the same thing with integers? I attach an image that i hope can describe better my issue, in the image you can see that the attributes occupied and type are in the socket, but the socketID no. So, i also wanted to put the integers (for example) in the socket to have a show without some useless instances/relations. I tried with the same approach used for the other attributes but is not working. I think it's because is an integer and not a custom sig.
I hope that the question is clear and thanks a lot in advance.

Not sure it's due to Magical Layout, unless they have implemented a special treatment for ints.
Anyway, the solution is to customize the "theme" yourself:
open the theme customization panel (e.g. by clicking the Theme icon).
Now two trees are displayed on the left, representing (top) the signature hierarchy and (bottom) all relations in your model: click there on socketId and then, at the top of the left panel, tick "Show as attribute" and untick "Show as arc", then apply your new theme by clicking Apply (top right), then click Close to close theme customization.

Related

Resizing the actual Tabs in a (Godot) TabContainer, is it possible?

Given some Tabs in a Godot TabContainer, I'd like to resize the actual Tab-elements (not the container they're a part of.
Given that so many things are customizable, it seems like these would be too, but so far I haven't found how. The question How to resize a Tab, sounded promising, but the "Custom Style" that it referred to, doesn't seem to exist - or at least didn't appear in a help-search.
Update: The given answer got me closer. There's a lot of variables, it's definitely not production-ready, but it does at least, appear possible to modify the size of Tabs. And just realized that one of the variables is Content-Margin, I had edited just Margin, to create this picture.
You have to learn about themes in Godot to resize your elements.
In the editor select the TabContainer, in the Inspector search the Theme property, and in the Theme variable below you can load a theme or create a new one for your project.
If you create a new theme there will be a file with a extension ".tres". Double click on that file to edit the aspect of different elements for your project.
I will try to add more detail. If you edit your theme file ( .tres), with the Type: TabContainer, you can override the multiple StyleBox of the Tab. I tried with the tab_fg, click on the plus sign, later in [Empty], New StyleBoxFlat, click on the new StyleBox Flat created in the field, and edit it in the Inspector. Edit the Expand Margin values, and also the Content Margin values.
You can also increase the font size, overriding the font with a New Dynamic Font, selecting it and editting it in the Inspector, in settings-> Size.
You can find further info in the UI tutorials section on GUI skinning

Android studio just downloaded and gives an error

I have a problem with android studio. I just downloaded and when I try to add something the app for example a button or text I get the following error:
This view is not constrained. It only has designtime positions, so it will jump to (0,0) at runtime unless you add the constraints The layout editor allows you to place widgets anywhere on the canvas, and it records the current position with designtime attributes (such as layout_editor_absoluteX). These attributes are not applied at runtime, so if you push your layout on a device, the widgets may appear in a different location than shown in the editor. To fix this, make sure a widget has both horizontal and vertical constraints by dragging from the edge connections.
Well I haven't actually done anything... Download it and instantly error...
After research I found that in the Layouts tab there is an option called ConstraintLayout. I double clicked on it and then I added the button and a warning appeared named hardcoded text and it says:
Hardcoded string "TextView", should use #string resource Hardcoding text attributes directly in layout files is bad for several reasons: * When creating configuration variations (for example for landscape or portrait)you have to repeat the actual text (and keep it up to date when making changes) * The application cannot be translated to other languages by just adding new translations for existing string resources. There are quickfixes to automatically extract this hardcoded string into a resource lookup.
There is a suggested fix but it wont change anything...
Anyone know what to do or it is just my luck...…………...
Just go to Design Tab and on Layout right-click on the layout you've and select Constraint layout --> Infer Constraints.
If you don't find this tab Infer Constraints then you've another android version so just go to Design Tab and click on the button you added you'll find a toolbar appeared you'll find in it an icon for a Magic Stick just hover on it you will find it's Infer Constraints click on it.

Windows Explorer Navigation Bar in PyQt

What's the best approach to mimic the Windows Explorer navigation bar in PyQt?. Perhaps a list of QComboBoxes as part of a parent class that concatenates the current item of each combo box to resolve the final path?
Is it possible to get a similar look by using stylesheets?
This is the object I need to mimic. I just want a theoretical approach about the best way to mimic it.
Thanks in advance
This is technically known as a breadcrumb widget.
There are multiple approaches to this. The closest emulation to Windows Explorer's behavior--leaving out the normally hidden line editor--involves a chain of widgets like so:
A top level parent QWidget-derived class with your implementation, which would have:
A QHBoxLayout
An arbitrary number of QComboBoxes
A QFileSystemModel from which to populate the combo boxes.
Alternatives
You could use a single QLabels with a series of hyperlinks divided by path separators if you don't care about drop-down behavior. Qt Creator does this.
If your data source is static and not as gigantic as the filesystem, you could use QToolButtons backed by a tree of QAction/QMenus. This is possibly a masochistic approach, given that you have to populate all of the actions and menus. Since that's what they are there for, though, it might be handy as part of a context-sensitive menubar or tab bar.
I was looking for such a widget too without any luck. So I've tried to implement this by myself. It's not finished yet and needs some more work, but here's the first result: breadcrumbsaddressbar.
It's based on QToolButton widgets with menu. Parts of address which don't fit are hidden like in Windows Explorer. Also the widget has auto-completion feature.
Update: there's also a C++ widget QtAddressBar which I have't tried.

Component symbol not showing up in a Papyrus UML diagram

I am new to Papyrus. Few days ago I installed eclipse Kepler (Build id: 20130614-0229) with Papyrus 0.10.0v20130612
I created a model, then I added a component diagram. I added few components to the diagram and I saw that the shapes were simple rectangles. I was expecting the component symbol with two smaller rectangles on one side.
If I open the properties of one of them, I select appearance and I check the box "Element Icon" I can see a small component icon appearing beside the name, but I was trying to set the shape of the containing rectangle.
In the same view (Properties->Appearance) I tried to change the stereotype display from "Text" to "Icon" or "Text and Icon", but nothing happens. If I close and reopen the stereotype display is set back to text.
Is it possible to set the shape of a component type to the usual component symbol? How can I set it?
Does the "stereotype display" select box have anything to do with it? In this case do I have to do something else to make it work?
Thanks for your answers.
Hello I know that is a little bit late for you, but I faced the same issue and I would like to share the solution so in the future someone can save time solving it.
To display the second box below the title (so called packed elements compartment) just:
right click on the component -> Filters -> Show/Hide Compartments -> packaged elements
You can also click on the component, type the shortcut Ctrl + F6 and select the compartments you want to display.

Visio 2010: Prevent Co-Linear Connector Routes

I have recently picked up Microsoft Office Visio 2010 in the interest of drawing out the execution flow of a software application I am planning. So far I have enjoyed the program, and it has helped me significantly to figure out exactly what interactions and events I will need for the program even before I begin coding it. However, there is one gripe I have with the software, as I add new elements to the diagram, Visio tends to try to combine routes as often as possible. This can make it difficult at times to see exactly where some of the routes are pointing. For example:
Example 1: Example 2:
In Example 1, You can see that there are three routes, each with a different label. Originally, these labels would overlap each other as well. I figured out this can be turned off in the "Page Layout" dialog, so it's a little better than it was, but the beginnings and ends of the route are still combined. Here it's not really an issue, but it could be as shown in Example 2.
What's pointing where in Example 2? The line coming in from the left is pointing at the diamond on the bottom, and then there are three routes coming out the top of the diamond. This is the problem I'm trying to solve. It's not shown in these examples, but putting labels on those three routes in Example 2 puts the labels all on that long stretch of vertical, which makes it impossible to tell which label corresponds to which line.
Is there a way to prevent the lines from overlapping like this? I have fully explored the "Page Setup" dialog, but none of the options available there seem to allow this behavior. The only solution I was able to find online was to draw all the routes manually, but this would mean I cannot use the "Re-Layout Page" feature, and it could be rather time-intensive if Visio decides to do it often.
Update: While messing around with some more settings trying to find a solution to this, I came up with a great example showing just how bad this can get. Now, this is an extreme example, and if your diagrams look like this you're probably doing it wrong, but it clearly shows that it can quickly become impossible to tell what the source and destination for each line is.
After many more hours of searching for ways to make routes either not overlap or play nice, the only solution I've found that keeps being recommended is to re-arrange the routes manually. Changing things like snap settings and page layout options do help to some degree, but not completely. Hopefully the next incarnation of Visio will handle this better. Oh well, it's still a great tool and has definitely helped me visualize execution flow.
This may not be the solution for you but in my network diagrams, I can perform the following.
In Visio 2010 click Design tab, now click Connectors, and select curved.
It separates the lines but again it might not look right for a flow chart.
I'm having the exact same issue and have not found a satisfactory solution.
I've tried all the permutations of snap/glue settings, layout behaviour and connector behaviour with no success.
The best solution I've found so far is to manually add multiple connector points to your source and destination and use those to connect your shapes. Make sure 'no overlap' is specified for your connectors. You can then use the automatic align/layout tools and get something reasonably unambiguous.
You do lose the benefits of dynamic glue but you can mitigate that by deleting connection points (ie from one side of a shape) to force Visio to use your custom connections. You'll also have to disable 'glue to geometry' in the snap/glue options.
http://office.microsoft.com/en-au/visio-help/add-move-or-delete-connection-points-HP001231166.aspx
Please update this question if you find a better solution.
Huh. Most of the time, I have trouble getting my lines to overlap nicely :).
You might try changing some of the Snap & Glue settings:
On the View tab, in the Visual Aids group, click the dialog box launcher (the little two-headed arrow). In the Snap & Glue dialog box, I'd try changing the Snap to setting for Shape geometry.
I cna't tell if you're talking about doing this from code or not, but I've found the Design -> Layout -> Re-Layout option takes care of this.
Similarly to Alex I've found adding my own glue points to shapes and removing the default ones helps enormously. So does making sure one has appropriate settings under Page Setup | Layout and Routing:
Style: Right Angle
Separate: All lines
Overlap: No Lines
Appearance: Straight
Spacing: I found all these distances especially important
Being aware of the setting for each connector under Developer | Behaviour | Connector | Reroute, how that setting changes from "Freely" to "On Crossover" when a connector is rerouted manually is also important. Sometimes I find it necessary to set a particular connector to "Never". Also useful is the ability to select all the connectors (and NOT the shapes) with Select by Type when forcing Visio to reroute.
I'm doing this with Visio 2013's ERD diagrams and I've noticed that whilst I have defined my own connection points now on each entity it is usually best not to actually select them but let Visio dynamically select the "best" one - then if I re-arrange the entities the re-routing still works. One curiosity I've noticed is that Visio's connectors do not align with my connection points at the bottom of each entity but (since I deleted the OotB connection point at the bottom of the entity at any rate) is spacing the connectors appropriately. Along the top and down the sides the connectors are dynamically attached in the same places as my connection points.
I still sometimes have problems with connectors being placed under/inside/through entities (so a connector running through/inside/under a shape) [with ERD's especially with self-referential relationships] despite Developer | Behavior settings on both the connector and the shape seemingly to prevent that. Those are often the ones I have to route manually and set to re-route "Never".
[Visio 2016]
Not a complete solution, just an aid to manual re-routing, ...
Add "Connection Point" to the two shapes. Each connection line will then have its own route, ... though some overlapping might still occur.
Being graphically challenged, here is how I accomplish it, ...
Select the one of shapes (I have to also zoom in to get better placement control).
Select the X in the [Home] menu bar.
The selected shape will have small bumps for any shape connection points.
Press and hold the Ctrl key and hover on the boarder of the shape, the mouse cursor will change to show where a point would be added.
Ctrl-Click to add a connection point. Here I added 10 or so points.
Add additional connection points to the other shape and move the connectors to use unique points on the two shapes. Your connectors will be (more or less) separated.

Resources