x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

SButton shows up disabled

I want to create a radar widget which positions SButtons relative to alloted geometry. I create canvas like this:

 void SLocatorScreen::Construct(const FArguments& InArgs)
 {
     ChildSlot
     [
         SAssignNew( Canvas , SCanvas )
     ];
 }

Then I add slot in tick function (in tick because I need FGeometry)

 void SLocatorScreen::Tick( const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime )
 {
     Canvas->ClearChildren();
     Canvas->AddSlot().Position( AllottedGeometry.GetLocalSize() / 2 ).Size( FVector2D( 20, 20 ) )
         [
             SNew( SButton ).OnClicked( this, &SLocatorScreen::HostClick )
         ];
 }

The button shows up but is inactive. Through widget reflector I can see that it is disabled. I tried appending .IsEnabled(true) to SNew call but it has no effect. Anyone knows why this is happening? If I create a slot in Construct button shows up enabled as expected (but I cannot place it there since i need AllotedGeometry)

Product Version: UE 4.20
Tags:
more ▼

asked Sep 25 '18 at 05:40 PM in C++ Programming

avatar image

MyxaWW
1 1 1

avatar image MyxaWW Sep 25 '18 at 05:49 PM

Screenshot of reflector widget: alt text

clipboard02.jpg (14.3 kB)
avatar image MyxaWW Sep 25 '18 at 06:02 PM

I've tried doing this with no success:

     Canvas->ClearChildren();
     TSharedPtr<SButton> MyButton;
     Canvas->AddSlot().Position( AllottedGeometry.GetLocalSize() / 2 ).Size( FVector2D( 20, 20 ) )
         [
             SAssignNew(MyButton, SButton ).OnClicked( this, &SLocatorScreen::HostClick )
         ];
     MyButton->SetEnabled( true );
(comments are locked)
10|2000 characters needed characters left
Viewable by all users

0 answers: sort voted first
Be the first one to answer this question
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question