How to make entry / exit actions show up in State Machine diagram - enterprise-architect

I created a State Machine, added a State from the Toolbar and added an Entry-Action via Features & Properties > Operations to the State. I'd now like this Entry-Action to show up in the visualization of my state, e.g.:
+ entry / someEntryAction();
+ exit / someExitAction();
like it does for example in the Resource of the State Machine Diagram here: Sparx Systems: State Machine Diagram. I followed the resources on how to add entry /exit actions, but my State stays empty except it's name as a header.
This is how my state looks:
This is how I'd like the states to look:
What are the right settings to have the entry / exit actions show up in the visualization of a state?

To check whether operations are visible in that diagram
Goto Diagram Properties -> Elements Tab and in show compartment enable operations.
Goto Diagram Properties -> Features Tab and in Visible class members enable all.
Go to Feature and Compartment Visibility of that element ( Ctrl + Shift + y) and enable all the members under Operation visibility and also please check the custom property of it.
In the Operations dialog under Behaviour you have the check "Show Behavior in Diagram".
Arshad

Related

How to track down in which application is signal handler defined gtk/gtkmm for some button

The problem:
You wanna contribute to the some gnome/gtk/gtkmm project since you've noticed and know a way that things could be made better / you wanna fix some bug. Here are steps to get you started.
Example problem:
"Clean" button in Gnome Builder isn't doing anything to my project and since at this point I believe it is just empty function with placeholder button I wanna implement actual action.
Here are steps:
open application that you wanna modify in terminal where environment GTK_DEBUG=interactive environment variable is set. so run GTK_DEBUG=interactive gnome-builder
Gtk inspector should have opened and you should see bunch of Objects displayed. If you click on Object in inspector, that object should light up in your application
Gtk has clear hierarchy, so parent contains children, and your job is to detect in which parent is child that you want to modify
When you figure which parent you want click on arrow next to the name of that parent to reveal its children
Repeat steps 3. and 4. by applying 2. to get to the child that you want to modify
For example my path is IdePrimaryWorkspace -> GtkPopover -> GtkBox -> DzlPriorityBox -> GbpBuilduiOmniBarSection -> GtkBox -> GtkBox -> GtkButton
Double click last interactive entry (such as GtkButton
on the left, in drop-down switch to Properties view
find property that you want, mine is GtkActionable, and it's value is builder-manager.clean
open source folder in terminal of application that you are interested in (clone source of that application)
type in command tree | grep build-manager
if there are entries with that filename type in find . --name=filenameof.your.file
get file path, open that file in text editor/IDE, change stuff inside
submit patches

How to add custom created column in github project boards's progress bar?

I created a project board in GitHub using default Kanaban. I've added my own column, but it isn't reflected in the project progress bar. Only To-Do, In-Progress & Done are reflected and it is bugging me out. Is there a way to reflect the new columns in the project bar too? Thanks.
( For context purpose: The progress bar is the one with project's name and shows the columns relative status with respect to the number of cards in the columns. White -> Todo, Purple -> In Progress, Green -> Done. )
https://help.github.com/articles/about-project-boards
I tried fiddling around automation properties of the columns (I didn't work as I expected). In project properties, I've unchecked & again checked the show progress bar column. But it is still showing the original three columns and not the new ones.
expected:
progress-bar -> x-done / y-in progress / z - custom / ... / a-to-do
actual:
progress-bar -> x-done / y-in progress / z-to do
According to my fiddling with the GitHub project board, the progress bar shows the (sum of the) amount of items in columns marked with an automation preset (To do, In progress, Done).
Columns with automation preset "None" are not shown in the progress bar.
I don't think you are able to add more presets to create your expected progress bar x-done / y-in progress/ z-custom / ... / a-to-do. At least not yet, although I checked 2 years after the question was posted.
You can, however, definitely do something like x-done / y-in progress + z-custom / a-to-do by setting the custom column's automation preset to "In progress".
To elaborate on #hilipati's answer: no, GitHub only takes into account "To do", "In progress", and "Done" columns. However, if you set the column's automation to one of the above presets, it will count. So, for example, you can split the "In progress" column into two columns -- one for new PRs and another for reviewed PRs, and both will count towards the "In progress" (purple) section of the progress bar.

Binding NSPopUpButton to core data hangs Xcode build

My environment:
Mac OS X v 10.10.4
Version 6.4 (6E35b)
My Project:
Mac app using Swift 1.2 with storyboard
A bit of background: I got an NSTableView with multiple columns all hooked into an NSArrayController, which in turn, is hooked up to core data (say entity "Car"). Everything works well - I can load and edit the column values, and save changes to sqlite. All of this is accomplished with bindings via Interface Builder. I now want to add a new "color" column to this table, representing a relationship to another entity, say entity "Color". Each row will have an NSPopUpButton for this new column; the pop-up button should have its values populated from a second NSArrayController linked to the "Color" entity. Thus, "color" is a many-to-one relationship between Car and Color (many Cars can reference a given Color), and I'd like the values in the pop-up button to correspond to the "name" property from Color.
What I've done:
In the storyboard (under the controller scene containing the Car table), I've added a second NSArrayController, "Colors Array Controller":
1) under "Attributes Inspector" -> Mode = Entity Name, Entity Name = Color, "Prepares Content" checkbox selected
2) under "Bindings Inspector" -> Parameters -> Managed Object Context -> "Bind To" checked -> selected "Cars Controller" -> Model Key Path = context
In the Cars table (under NSTableCellView), added an NSPopUpButton.
At this point, everything builds and runs properly, except that all the columns in the table show the "Item 1" default value from the pop-up button (I can also see the other default values when I expand the pop-up).
Now, I've tried the following in a futile attempt to load the pop-up with the correct values:
Strategy 1:
using Interface Builder, selected the NSPopUpButton. Under Bindings Inspector (Value Selection), checked "Bind to" and specified the Colors Array Controller from above; Controller Key -> arrangedObjects; Model Key Path -> name
Strategy 2:
created an IBOutlet, "colorsArray", for "Colors Array Controller" in Cars Controller;
using Interface Builder, selected the NSPopUpButton. Under Bindings Inspector (Value Selection), checked "Bind to" and specified Cars Controller; Model Key Path -> colorsArray.arrangedObjects
For both of the strategies above, whenever I try to run (or just build) the project, Xcode hangs at "Compiling 1 of 1 Storyboard files". Activity Monitor shows that the "ibtoold" process steadily consumes all memory available (as soon as I kill it, Xcode reports my build as failed).
I would really appreciate if somebody could shed some light into what I'm doing wrong, or suggest alternatives to achieve the desired results.
I just ran into the same issue: As soon as I bind a NSPopupButton's content binding to an ArrayController's arrangedObjects Xcode will compile the storyboard forever. When I remove the binding it will compile as usual :(
Since my NSPopupButton is inside a table column, I've removed the array controller and I'm now binding its content directly to a property of the table column's object value.

How do I set size of colums in a table subform datasheet view in MS Access

I have a subform bugging me. The mainform contains buttons etc. Everytime the user close/open the form, the columns width is reset to whatever the table likes. If i open the table directly, the size is as i want. If i change it in the subform, it is not saved. (See screendump)
I would like "Phase" to stay about 2 cm width. I can enter the subform and edit the "Width" but that is only applied to the other views.
I hope you can help, Emil.
I realize this post is almost 2 years old, but I ran into the same problem and came across this post.
I am running MS Access 2013 on Windows 7 Ultimate. I did not find the solutions offered here to work for me, so, I set out to find something that would work for me before I went to VBA code. (Incidentally, I appreciate the link offered by #Patrick_Honorez in his comment on the original post because that was going to be my fall-back solution.)
Anyway, here is what worked for me and I hope perhaps it will work for others as well:
Open the parent form.
In the subform, right-click the column header
for the column for which you wish to adjust the width.
Select the “Field Width” item from the context menu.
In the “Column Width” dialog that appears in step 3, enter the desired column width in points, or, use the [Best Fit] button. Then click the [OK] button to close the dialog and return to the form.
Right-click the parent form’s border to bring up the parent form’s context menu. Click the “Save” item in the context menu.
Now close the parent form.
The next time the form is loaded, the column widths should be as set it step 4 above--at least they are for my setup.
I see this post is quite old and OP must have figured someway to tackle the issue. I came across same issue today and found solution on this link.
For anybody else having same issue, use following code (I modified the code a little because original code from the above mentioned post saves column width of only text boxes but my form has combo boxes too, column width of which was not getting saved) in close and open events of your subform and then open main form in Form View and then manually select desired widths either by mouse, by entering column width value or using best fit. Save the form and reopen to check results. That's it.
Private Sub Form_Close()
Dim ctrl As Control
For Each ctrl In Me.Controls
If (ctrl.ControlType = acTextBox Or ctrl.ControlType = acComboBox) Then
SaveSetting "propertiesDBS", Me.Name, ctrl.Name, ctrl.ColumnWidth
End If
Next
End Sub
Private Sub Form_Open(Cancel As Integer)
Dim ctrl As Control
Dim frm As Form
Dim w As Long
For Each ctrl In Me.Controls
If (ctrl.ControlType = acTextBox Or ctrl.ControlType = acComboBox) Then
w = GetSetting("propertiesDBS", Me.Name, ctrl.Name, 0)
If w <> 0 Then ctrl.ColumnWidth = w
End If
Next
End Sub
I know this is late to the party and most likely going to be the last comment anyone reads, but this can be done quite simply in MS Access 2016 - by someone like myself who has no more than 4 days experience in databasing overall and no experience with writing custom Macro's or VB Script (using only what is native to MS Access).
Here's how I did it.
Scenario - Split Form (Form + Datasheet).
Extra Recommendations:
It pays to be across all properties of every object type in your database, as a change in a field property can cause unpredictable erratic effects, which take ages to figure out why it happened and how to stop it from happening again, whilst delivering your desired outcome.
Me.Requery in your VBA script after every necessary event and also in your main form (generally the 'After Update' event is used most), and be wary that too many Me.Requery's (in unnecessary events) can also be detrimental - so too much of a good thing can be a bad thing.
Bottom Line Up Front - Modify the format of your query that is to be exported/printed.
In 'Design View' of the query you are concerned with, ensure that the fields are in the order you need them outputted in first as this is exactly how the macro will present them for export/print (example could be "Australia" then "Northern Territory" then "Town's In The Northern Half Of The State" then "Darwin" then "Suburbs In The Northern Half Of City").
Switch to 'DataSheet View' in the same query and use the top left folded over triangle looking thingy to highlight the entire data set then right click that same triangle to present an options menu. Select 'Row Height' and type in "15" (default row height in Excel).
Deselect the entire spreadsheet and this time select every column (left click the left most column, hold shift button, scroll over to the right to the far end of the data set and click the last column) and then right click one of the highlighted columns to present another menu. Select 'Field Width' and within that new pop-up menu select 'Best Fit' and then 'OK'.
(Optional - not sure if this helps or hinders but I did it for my purpose) With the columns still selected right click one of the highlighted columns again and select 'Freeze Fields'.
My scenario had buttons with macros configured to run filtered reports so I was able to check this by simply clicking any of those buttons and seeing the report formatting, which it held true to the work I had just done. I exported using another button with a macro that exports to Excel with 'Print Formatting' selected (my main form also had the datasheet view as the only thing that could be printed and was also set in 'Print' formatting.
The Excel spreadsheet opened with all row heights and column widths in a way that I could read every field/record with perfect ease and without extra modification.
This also worked for cascaded combo boxes, with the export only outputting the 'drilled down/filtered' datasheet records, in a format that required no further modifications.
Hope this helps someone, as its saved my hide! :)
Open the Main form in Design. Go to the SubForm. Click on the square at the top left of the SubForm and select 'Properties'. Right-Click the control 'Phase' and click 'Properties'.Click the 'Format' tab and select 'Width'. What do you see there? That should control the widht of control 'Phase' unless you have some overriding coding elsewhere. Input the size you want and see what happens.
Use continuous forms instead. It gives you complete control over how your subform displays.
If you open your subform directly, your property sheet menu should display automatically if the default view is "Datasheet." Click on "All" and change the "Auto Resize" property to "No." This should solve the issue and avoid the need for VBA.
This only works when you open the subform separately. So if you want the changes to be reflected within your main form, you'll have to close it and switch back and forth.
Super annoying by default.
It seems to work as one would expect of you set the view mode to layout view. Drag column widths as needed and save. Go back to form view and it works. It's really dumb it doesn't work the same way in form view our design view.
In Access 365, open main form, right-click sub-form datasheet columns that need width adjustment, use the Field Width to adjust, click on border of main form to select Layout view, and save changes.
Open subform in datasheet view (by double click on subform in the left pannel)
Resize columns as you want by dragging or by right-click the column header for the column for which you wish to adjust the width and select the “Field Width” item from the context menu.
Right-click the subform border to bring up the context menu. Click the “Save” item in the context menu.
Either open the Main Form in Layout View or directly open your Subform in Datasheet View. Right Click on the Field Header, select Field Width, and enter the desired width. Save. Bewm.
My solution (Access 2016) was to create the main & subform, recreate the subform on its own using form wizard and set it up the way I want it, rename the original subform to something else, and finally rename the recreated subform to the original form name. Open the main form and the subform should be laid out the way you want it. You can then delete the original subform you renamed.

Microsoft Access - reference object on a 2 layer menu navigation control

I got a form called frm_deleteFinishGoodsInventory which contains a combo box that has a afterupdate. This event works perfectly fine in a stand alone form.
When it comes to putting this form on a navigation control, I can't seem to reference the cbolotNo.
Example of a 2 layer menu navigation control
As you can see, I am in the menu Shipping (1st layer) + Delete Carton From FGI (2nd layer) -> targeting the frm_deleteFinishGoodsInventory.
I have tried multiple things, but I always end up with the same error or the program crashing since I can't reference the object.
frm_NavMenu = main navigation form
NavigationButton26 = 1st menu layer ( Shipping )
NavigationButton819 = 2nd menu layer ( Delete Carton From FGI )
Have you tried changing this to:
DoCmd.ApplyFilter , "[lotNo] = " & Me!cboLotNo