Compile from code editor of C++ component used in blueprints get deleted - unreal-blueprint

After I modified code in the component .cpp and compile from the code editor then run the game I get errors from blue print that uses this component. After I open this blue print I found the component is missing and need to be added again !!. Is there a way to prevent this behavior ?
because if I use this C++ component in many blue prints I have to search and readd them all again.
I used that macro
UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )

Related

PhpStorm shortcut to wrap text with function call

I'm in PhpStorm and I need to select some text, press some shortcut and have that text wrapped in a function call (that I would have defined somewhere in the settings beforehand).
For example:
"Hello World" would become input("Hello World").
$_GET["foo"] would become input($_GET["foo"]).
I don't know if this is even possible, but it could help me save so much time if so.
Applying regex to solve this problem is unfortunately not possible. Manually selecting what I need to wrap isn't an issue.
Will the function name be the same every time or different?
In any case: it can be done this way:
Make a Live Template of "surround template" type with the following content:
$FUN$($SELECTION$)$END$
The $SELECTION$ variable here tells that it's a surround template.
Apply correct Context (where this template can be used)
Give it an abbreviation (name used to locate & invoke it) and brief description.
Here is mine:
NOTE: replace $FUN$ by a fixed function name if the function will always be the same. You can have additional templates with different abbreviations (that will have different hardcoded function names).
To use it:
Make a selection and invoke Code | Surround with... action where you select the right template. On Windows keymap it's Ctrl + Alt + T
In action (NOTE: it's without hardcoding the function name hence me typing the myFunc part):
(HINT: you can select the desired entry in a few keypresses if the name is unique -- just start typing the name in the popup -- the standard Speed Search work here)
P.S. Code | Surround with... can have other (possibly irrelevant for you in this case) entries. To list Live Templates only, use the shortcut for Surround with Live Template... action (Ctrl + Alt + J here on my Windows keymap). You can check the shortcut or change it in the Settings/Preferences | Keymap:
This way the popup menu will be a bit shorter:
Less keypresses:
You may be able to use Macros functionality to record the invoking the popup and selecting the right entry. You can then assign a custom shortcut to that Macros: select the text, hit the shortcut and it will playback the recorded sequence.
Sadly I cannot 100% guarantee that Macros will always work nicely (sometimes/on some setups it can "eat" keypresses).
P.S. It would be much easier if the IDE would support assigning keyboard shortcuts to specific Live Templates .. but it's in the backlog and no ideas on when this might be implemented. Anyway: https://youtrack.jetbrains.com/issue/IDEA-67811 -- watch this ticket (star/vote/comment) to get notified on any progress.
P.S. You can also try Postfix completion. It's good for writing the code and not really suitable for your case (editing small parts of it), but who knows. You will have to make a custom postfix for this -- should not be an issue though.
https://www.jetbrains.com/help/phpstorm/2021.3/auto-completing-code.html#postfix_completion

how to add coustomized side frame to doxygen html

I am using doxygen to generate an API document for my project written in pure C. I want to have a left side frame in the index.html generated by doxygen. So I enabled the option "GENERATE_TREEVIEW" in Doxyfile, but I am not satisfied with its layout.
I want a brief tree layout, not like this :
Files
File List
File Members
All
Functions
I have only one file to export, so I don't need "File List".
I have only functions to export(no variables, class etc.), so I don't need "File members".
And, the most reason I want to customize is that I want to classify my API into several different sub-class. Just like this:
Cursor Operation
vi_h()
vi_j()
vi_k()
vi_l()
Text Edit
vi_dw()
vi_dd()
Text Search
vi_f()
vi_F()
But doxygen seems doesn't provide a way to customize the side frame.
I have thought about another way: give up side frame, and use an category page, which can be accomplished using \section and #ref. But this is not good for readers, because every time they click, they have to switch to another web-brower tab, slow and inconvenient.

Using 2 htmlwidgets in 1 R-Shiny Application

I am working on creating widgets to work with specific D3 visualizations. I have successfully created both of the widgets I want to use. However, when I use these two widgets in the same R-Shiny application, only the first widget used has the CSS file added to the source code. The second widget called has its CSS left off. Resulting in some odd looking visualizations.
How can I work around this?
I call HEBOutput() and CITOutput() - my two functions. Thus, HEBcss.css is put into the source code, but CITcss.css is not.

How to find the button definiton in flash?

I have this flash template (.fla) with some buttons and definition for those buttons is in an action script (.as) file. I need to find the definition of a particular button in the action script so that I’ll be able to modify the functionality of that particular button.
Is there any easy way to find the definition of button in action script, instead of manually looking over the action script file for the definition?
Are you looking for getDefinationByName()??

My slots not listed in Qt Creator Signal/Slot editor

I created a Qt4 Gui application. I have the main window. I put a QStackedWidget and two QPushButtons on the MainWindow's central widget. I am using QtCreator as my IDE.
In the attached image the shown stacked widget has two pages and the two pushButtons 1 and 2 are for navigation to firstPage and SecondPage of the stacked widget respectively.
Problem 1:
When I opened signal/slot editor I selected sender=button1 and signal=clicked, then receiver=stackedWidget and slot=? . It supposed to be setCurrentIndex() but its not listed in the drop down list.
Problem 2:
In the right object panel of QtCreator there is marked the "Denied Symbols". I don't know why those symbols are there? Is there any problem ?
I am attaching the screenshot below. If any more details are required please let me know.
I too am learning QT and QT Designer, and ran into the same problem. A determined search of the Internet revealed several other people with the same question, and no answers. You'd think someone out there would have explained it by now. Sigh.
Anyway, the problem is that the signals sent by the push-buttons don't match the signature of the "setCurrentIndex(int)" slot on the stacked-widget, so "setCurrentIndex(int)" doesn't show up in the menu when one tries to use a push-button "clicked()" signal. That is, "clicked()" has no parameters, and "setCurrentIndex(int)" has a single integer parameter, therefore they have different signatures.
In my project, I was trying to connect menu items to a stacked widget, so that one of the contained widgets would be displayed when the menu item was selected. The menu items only have the "triggered()" signal, there's no "triggered(int)" signal, and QStackedWidget's "setCurrentIndex(int)" slot is expecting a signal that has a single integer parameter in its signature.
In other words, you can't do what you want, directly.
Here's how I solved it in my code. Keep in mind that I'm writing my Qt app in C#, using MonoDevelop (to do C# development under Linux) and Qyoto (which is a C# interface to Qt).
After creating my main window (and assiging it to a variable called "layout"), I did this:
QObject.Connect (layout.someMenuItem, SIGNAL("triggered()"), showSomeView);
This causes my menu item to call the showSomeView() function whenever it's triggered.
I then wrote
public void showSomeView()
{
layout.stackedWidget.SetCurrentWidget(layout.someView);
}
Now it does what I mean!
The solution in your project's language should be similar to this. It's unfortunate that the signal/slot connections have to be set up in code, instead of in QT Designer's GUI, but I don't know how else to do it.