Interfaces/classes inherited from and functions removed after opening with introjucer


#1

Hi All

I have a header file containing the definition of a class: 


class CubeFaceControlScope  : public Component,
                              public LabelListener,
                              public ButtonListener,
                                public SliderListener

with, among other methods, a public method like this 

        void sliderValueChanged (Slider* sliderThatWasMoved);

which will be called when using the slider. This function is implemented in the corresponding .cpp file. 

 

When I open my project using Introjucer, it consistently removes the "public SliderListener" from the cass definition showed above. 

It also removes the sliderValueChanged public method definition as well as the implementation in the cpp file. 

 

the sliderValueChanged definition or implementation are not between special [] and [/] tags. 

Also, the class definition itself is not between [] and [/] tags.

 

When I click on the cpp file in Introjucer and select the Class tab, I only see "public Component" under parent classes (see attached screenshot) 

 

How should I fix this such that the definition and implementation for sliderValueChanged sticks and such that the class definition stays and introjucer is aware of what it inherits from ?

 

It's unclear to me what the CORRECT workflow is when adding components like sliders to a class... shouldn't introjucer figure out that when you add a slider, the slider will automatically need a handler and that the class should inherit from SliderListener? 

 

Thanks

B

 


#2

i can add that the 

 public LabelListener, 
 public ButtonListener,

are NOT removed in the class definition when saving. 

the public methods 


    void labelTextChanged (Label* labelThatHasChanged);
    void buttonClicked (Button* buttonThatWasClicked);

are also NOT removed when saving. These methods are also not between [] and [/] tags to protect them from being removed. 

This in contrast to the sliderValueChanged method which is removed when introjucer saves the files / project.