JavaFx Label text = variable - binding

I have a JavaFX GUI in an fxml file with its controller class defined. I have two text items that I want in that GUI, one tied to a variable whose value does not change until the user reloads the screen, the other I would think needs to be a StringProperty as it shows the running total of a column in my TableView. Because of what they are, I'm trying to use Label instead of a TextField as their display control.
I liked Sebastian's answer to this problem here:
Displaying changing values in JavaFx Label
however, when I try to use it I get a compile error that says:
cannot find symbol
symbol: variable textProperty
location: variable salesNoLabel of type Label
I'm not sure what I'm doing wrong, but to start with, my label text is initially set in the fxml file, so in my controller I just have its fx:id substituted for "myLabel" listed in Sebastian's answer:
salesNoLabel.textProperty.bind(sn);
where salesNoLabel is the fx:id of the label and sn is a string variable.
Not sure if you need to see more of my code to help me with this problem, but thanks in advance for checking it out.

Sebastian's answer had a syntax error, I edited it to fix it.
You need to invoke the textProperty() method on the label:
salesNoLabel.textProperty().bind(sn);
Note the addition of parentheses after the textProperty identifier to invoke the method.

Related

How one pass C compiler deal with labels?

Some times labels is used before declared, for example:
void test() {
goto label;
label: return;
}
when an one pass compiler parses the first statement, it doesn't know where the label is, until the label: statement comes.
Since one pass compiler only parses the code once, there's no way to leave the label alone and comes back later, right?
So what is the usual way to deal with this in an one compiler?
Two possibilities:
Backpatch. Use the destination address field in the generated branch operation to create a linked list of unresolved uses of the label, putting the head of the list in the label symbol table. When the label is defined, walk the list, overwriting ("patching") each link with the correct value.
If you're allowed to generate symbolic assembly code, just output the label name and let the assembler deal with it.

Determining available runtime attributes for a UI element in Interface Builder

I've been playing around with a button in my storyboard, and had a hard time getting a border around it, until I found a page where it showed how to add a User Defined Runtime Attribute. I was able to make the button look as I wanted, but I wanted to know if there was a way for me to view the list of available attributes for a particular Object.
Clicking the "+" to add a new attribute doesn't provide any kind of auto-complete to show the available ones, and looking through my project code doesn't seem to reveal anything either, not surprisingly. Is there somewhere I can find all of the available attributes for all/any Objects in Xcode? Searches here on SO and in general have not shown any useful results so far.
You can achieve the same thing from code, so just check the properties of UIButton (which is available in the documentation and with autocomplete) and you're good.
You also have to make sure you are checking the properties on an UIButton instance and not the class properties.
User defined runtime attribute is a list of key paths that NIB loading subsystem uses through unarchived process. After initialisation message -setValue:forKeyPath: will be send to your unarchiving object for each key path from this list. So available attributes are not more than set union of all methods with selector sort of -setAttribute: and ivars with "_attribute" or "attribute" name.
All that public attributes you may find at public headers or documentation.
There's also possible to set private attributes, but it's not good practice. For instance, you may find all ivars by breakpoint execution inside any method and look inside "self".

How to activate 'Variable completion' feature in Delphi?

There is a 'Variable completion' feature in Delphi XE?
I ask because I know there are lots of hidden or semi-hidden features (like the possibility to change the execution point when you are in debugging mode) in Delphi.
Example: http://wiki.freepascal.org/Lazarus_For_Delphi_Users#Example_for_Local_Variable_Completion
That I want to achieve:
When I need a new variable in the middle of a procedure, I don't want to go back at the top of the procedure to declare it and then go back in the middle of the procedure. So, it is not that I am lazy in copy/pasting the variable name but that I am disturbed in the middle of the 'creative process'.
I think this tiny feature will be a gigantic improvement to Delphi and to our efficiency.
There is something similar in the Refactoring menu. You have to select the variable to declare first and then hit Ctrl-Shift-V. In the following dialog you can accept the type suggestion or change it to your needs.
More information can be found here: http://docwiki.embarcadero.com/RADStudio/XE/en/Declare_Variable_and_Declare_Field_Overview_(Delphi)
There's a template available that will add the variable declaration somewhat automatically, but it does have some issues. Type var in your code and press Ctrl+J:
begin
var(Ctrl+J)
end;
This produces the following in the Code Editor:
Enter a name for the variable, Tab, enter a type for the variable, Tab adds the variable declaration at the top of the current procedure or method. For instance, adding an integer variable named Idx produces
with the text cursor immediately below the g in begin (with my IDE settings of 2-space indentation).
The drawback is that it doesn't automatically type the variable name on the line where the text cursor is located, meaning you have to type the name again (or at least start typing and use Code Completion to finish) in order to use it.

How to use Property Sets on Snippets in Revolution

If I understand MODX Revolution correctly, I should be able to make a Property Set (Tools -> Property Sets) and apply it to an element as default properties. See rtfm.modx.com.
I have created a Property Set - 'tvsEnabled' - with the following values:
includeTVs: 1
tvPrefix: (empty string)
processTVs: 1
And then I call the following Snippet:
[[getResources#tvsEnabled? &parents=`8` &tpl=`TplArticle`]]
This returns nothing...
Firstly, please provide the code for TplArticle tpl, as there may be error in that tpl as well. The above code is perfectly correct.
Secondly, the tvPrefix parameter should be set properly. If you put an empty string, its no harm. But, try not overriding its default value. Now, if you have put an empty string, your tpl should access template variables according to the tvPrefix that you have provided, for e.g., [[+name]]. If you don't override its default value, you have to access template variables with the +tv. prefix, for e.g., [[+tv.name]].
If this doesn't work out, please do elaborate on the total task at hand and all the pieces of codes in relation to that, which you have written.

Runtime Control Indexing Problems

am using C#, VS-2005
am generate runtime controls like textBox and works it fine but the Indexing problems on it. my code below as follows.
//tbpoint Declare in GlobalArea.
int i=0;
TextBox tb= new TextBox();
tb.Location=tbpoint;
tb.Size=new size(970,60);
tb.Name="Tbox"+i.tostring();
tb.Keypress+=new KeypressEventHandler(tbb_Keypress);
tbpoint+=70;
i++;
this.panel1.Controls.Add(tb);
Above Code call in EnterKeypress Event and works fine but the problem is of Indexing the textboxes generated. The index not increment by 1.
How can I Solve It. Please Help Me.
The must declare the variable i also in the class body (which you call "global area"). Otherwise, i is reset on every method call to zero.
If by Index you mean Tab Index, you will need to set that yourself for dynamic controls.
System.Windows.Forms.Control.TabIndex

Resources