PlantUML and notes on packages - uml

I am trying to figure out how PlantUML manages notes. Below you can see a small example where the behavior seems buggy.
#startuml
package package{
'note bottom : this seems to be the correct place, but brings an error
artifact system
note right : this links to the system as it should
}
note bottom: This should link to the \npackage, not the last element\nin the package list.
note "Link to the package" as test
test .- package
#enduml
This code compiles to the diagram below:
As you can see I want to add a note to a package of elements. According to the wiki 2 you could use
note bottom
to attach a note to the element last defined. When I try this right after the package was opened I get an compile error as nothing is present to attach the note to. Therefore I tried adding the note bottom directly after the package is closed. In this case the note is attached to the last element that was created inside the package.
I know that I can create notes and link them to every element as shown in the last example. But here I can't use the right, left, top, bottom keywords to manage the position. Does anybody know, if this is a bug or if I have to place my note somewhere else in the code?

Looks like you (and some of the documentation) are missing of as in note bottom of package
#startuml
package package {
'note bottom : this seems to be the correct place, but brings an error
artifact system
note right : this links to the system as it should
}
note bottom of package: This should link to the \npackage, not the last element\nin the package list.
note "Link to the package" as test
test .- package
#enduml

Related

rid3, shadow-cljs & drag; different behavior in dev and prod

I'm creating an application which can be used to make an overview of your IT-Landscape. Currently it can show a table with the interfaces in your environment and their connected applications. It is also capable of creating an SVG image from this data. The data it self can be added via API calls.
I started with a project via:
leiningen new luminus versiontracker +h2 +shadow-cljs +kee-frame +swagger +(some other)
To be able to generate the SVG file with drag-and-drop support I added rid3 to the project .clj file.
When I run the application in development mode:
lein repl
and
lein shadow-cljs watch app
I can drag any item in the SVG file that is generated. I can click on a circle and drag it to any place I want.
However when I create the 'production' version with:
lein uberjar
and then run this application using:
java -Dconf=config.edn -jar versiontracker.jar
Dragging an object is not working properly. The whole SVG is selected instead of a single object within the SVG image; which result in strange drag-and-drop behavior.
Looking at the event through the console window I can see different behavior.
In the development environment if I grab a circle (which has the drag function attached) the srcElement in the sourceEvent is the text that is displayed on top of this circle. Although not the circle is selected dragging works as expected. The selected item follows the mouse while dragging.
In the 'production' environment if I grab a circle the srcElement in the sourceEvent is the complete svg; which result in strange drag-and-drop behavior. The selected item does not follow the mouse but the items do start moving around in an unpredictable way.
Go to Version Tracker download the release with tag V0.3.0 for the production version (there is also an H2 database with some sample data) and compare it to the development version by checking out the project.
Any help is appreciated
Your error description is a bit lacking and the project is far too complex to quickly reproduce.
Do you get any externs inference warnings when building? Do you get any errors/warnings in the Browser console with a production build?
The most likely cause here is externs. Meaning that property names such as in this (set! (.-fx d) (.-x event)) may end up getting renamed or stripped. As such it would break any behavior that relies in picking the correct names. See the documentation for further info on the subject. It might be enough to add a couple ^js hints in the proper places.
You are also using a rather old shadow-cljs version (current as of today is 2.16.10). So you need to opt-in to get externs inference warnings via :compiler-options {:infer-externs :auto} in your build config. The newer versions have this enabled by default.

Why am I seeing only decompiled source for an official android class?

Please note that I have previously installed Documentation for Android SDK via AS 3.5.2 SDK manager
Consider the following inconsistent behavior whilst editing java source code ...
import android.app.Fragment; // Deprecated!
If I hover over Fragment I get extensive, beautifully-formatted JavaDoc help. Furthermore, at the bottom of the Documentation window there is an option External documentation for Fragment that links to a local file:
file:///home/daz/Android/Sdk/docs/reference/android/app/Fragment.html
Now, moving to androidX ...
import androidx.fragment.app.Fragment;
import androidx.constraintlayout.motion.widget.MotionLayout;
If I hover over Fragment I get an abbreviated help which directs me to the 'framework' documentation. (Less elegant but acceptable)
But if I hover over MotionLayout I get nothing except a reference to
Gradle: androidx.constraintlayout:constraintlayout:2.0.0-beta3#aar
If I go to the declaration I get decompiled source and whenever I try to code a method I have to search the internet for the parameters. All attempts to Choose or Download sources while viewing the decompiled source have failed.
I consider this unacceptable - good documentation exists and I would like to get to it easily!
https://developer.android.com/reference/androidx/constraintlayout/motion/widget/MotionLayout
I appreciate that MotionLayout was a comparatively recent (2018) announcement but it is not an isolated case.
Why is this happening? Why is Android Studio unable to find official Android source code?
Determine if the source .jar was shipped with the .aar:
Example: androidx.fragment.app.Fragment
Assumes External Library: Gradle: androidx.fragment:fragment:1.1.0#aar
EITHER Right-click the external library (from Project view) --> Library Properties ...
OR Navigate to :
.../.gradle/caches/modules-2/files-2.1/androidx.fragment/fragment/1.1.0
Expand the subfolders and confirm something like
b9ebb04df2cb0cad4419af3c658690bc82aa5706/fragment-1.1.0-sources.jar
Example: androidx.constraintlayout.widget.ConstraintLayout
Assumes External Library: Gradle: androidx.constraintlayout:constraintlayout:2.0.0-beta3#aar
By using the above method, you will rapidly determine that no sources.jar exists. (You will only see the .aar and the .pom)
Establishing why not is beyond the scope of this question.
Until some-one provides a more satisfactory answer, you may like to try this grubby hack.
Update 21Nov2019:
If your problem relates to ConstraintLayout or MotionLayout please star this known issue.

chosen jquery not show correctly

I use chosen 1.2.0 from nuget. My chosen.css file contains class like .chosen-container, .chosen-container. When i call my dropdownlist class using .chosen() function. Resulted css class will be chzn-container, chzn-container-multi. It causes display ugly. but functionality work. I have no error in browser console.
When i check another sites, both generated markup and chosen.css contains chzn-container, chzn-container-multi classes only.
Nuget adds only css. It is not add chosen.jquery.js. I don't know why.
The Nuget package named simply "chosen" does not, as the OP says, contain the .js.
You need to search for Harvest.Chosen. Hopefully this will help someone in the future.

Enlarge the quick panel of sublime text

I am looking for a way to enlarge the quick panel (when you type Ctrl + Alt + P and then select install Package) because when I want to install a new package from the Package Control, I can't see the whole github link.
I thought the configuration was in a sublime-theme file but I can't find the property to make the width bigger.
In fact I am using the Phoenix theme so I created a Phoenix Dark.sublime-theme in my User folder and I tried different values for quick_panel playing with padding and margin. Nothing is correct.
[
{
"class": "quick_panel",
"row_padding": [0, 2]
},
{
"class": "quick_panel_row",
"layer0.texture": "Theme - Phoenix/Phoenix Dark/quick-panel-row.png",
"layer0.inner_margin": [2, 2, 2, 2]
}
]
If this is not possible, maybe there is something to display the details of a package?
if someone have an idea?
Thnks
If you're just looking for the Github link, the Package Control website is a great resource. It's fully searchable (package name and short description), and each package's page presents a nice combination of data, including the README from Github/bitbucket, info on Sublime versions and platforms supported, installation statistics so you can see how popular a particular package is and when it was last updated, and links to the project's Issues page as well as a Gittip link in case you want to donate to support the author(s). I usually do all my research there first, then go to the Command Palette quick panel when I'm ready to install.

Iphone route-me application issue

I am using route-me MapView for displaying offline map. It works well in the sample. I followed the Embedding guides and added the MapView.XCodeProj to my Xcode project it compiles successfully. But in my viewcontroller if i add RMMapView view as a subview to main view. It gives an error as "RMMapView refrence not found"
Need a bit more information, the exact error output would be helpful, but it sounds like you are missing the libraries. Make sure that libMapView.a has been added to Target->Build Phases->Link Binary With Libraries.
You might want to double check every step of the embedding guides.
Ciao!
-- Randy

Resources