# File scribble22.rb, line 71
        def initialize(owner)
                super(owner,"Auswahlmenü", DECOR_ALL, 0, 0,300,500)
                
                menubar  = FXMenuBar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
                filemenu = FXMenuPane.new(self)
        
                FXMenuTitle.new(menubar, "&File", nil, filemenu)
                FXHorizontalSeparator.new(self, SEPARATOR_GROOVE|LAYOUT_FILL_X)

# Erzeugt DataTargets für die Eingabe des Polynoms und seiner Parameter
    @functionTarget   = FXDataTarget.new("1.0*x**3+1.0*x**2")
                @xCoordTarget     = FXDataTarget.new(290)
                @yCoordTarget     = FXDataTarget.new(325)
                @zoomTarget       = FXDataTarget.new(50)

# Label und Textfeld für das Polynom
        FXLabel.new(self, "Funktion:", nil,LAYOUT_LEFT|LAYOUT_TOP|LAYOUT_LEFT)
        FXTextField.new(self, 10, @functionTarget,FXDataTarget::ID_VALUE,
                                                                        LAYOUT_LEFT|LAYOUT_CENTER_X|FRAME_SUNKEN|FRAME_THICK|
                                                                        LAYOUT_LEFT|LAYOUT_FILL_X)

        FXHorizontalSeparator.new(self, SEPARATOR_GROOVE|LAYOUT_FILL_X,20,20,20,20,0,0,10,10)          

# Ein- und Ausschalten der Zoomoption
        FXLabel.new(self, "Zoomfaktor:", nil,LAYOUT_LEFT|LAYOUT_TOP|LAYOUT_LEFT)
  @zoomMode = FXDataTarget.new(false)
  FXCheckButton.new(self, "Zoom", @zoomMode, FXDataTarget::ID_VALUE, CHECKBUTTON_NORMAL|
                                                                                LAYOUT_LEFT)

# Slider für die Zoomeinstellung
        FXSlider.new(self, @zoomTarget, FXDataTarget::ID_VALUE, LAYOUT_TOP|
                                                         LAYOUT_FIX_WIDTH|LAYOUT_CENTER_X, 0, 0, 100)

# Spinner-Feld für die Zoomeinstellung
        FXSpinner.new(self, 5, @zoomTarget, FXDataTarget::ID_VALUE,
                                                                SPIN_CYCLIC|FRAME_SUNKEN|FRAME_THICK|LAYOUT_RIGHT)

        FXHorizontalSeparator.new(self, SEPARATOR_GROOVE|LAYOUT_FILL_X,20,20,20,20,0,0,10,10)          

# Label und Textfeld für den x-Wert des gewünschten Koordinatenursprungs
        FXLabel.new(self, "x-Wert Ursprung:", nil,LAYOUT_LEFT|LAYOUT_TOP|LAYOUT_LEFT)
        FXTextField.new(self, 10, @xCoordTarget,FXDataTarget::ID_VALUE,
                                                                        LAYOUT_LEFT|LAYOUT_CENTER_X|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
                                                                        TEXTFIELD_REAL)

FXHorizontalSeparator.new(self, SEPARATOR_GROOVE|LAYOUT_FILL_X,20,20,20,20,0,0,10,10)           

# Label und Textfeld für den y-Wert des gewünschten Koordinatenursprungs
        FXLabel.new(self, "y-Wert Ursprung:", nil,LAYOUT_LEFT|LAYOUT_TOP|LAYOUT_LEFT)
        FXTextField.new(self, 10, @yCoordTarget,FXDataTarget::ID_VALUE,
                                                                        LAYOUT_LEFT|LAYOUT_CENTER_X|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
                                                                        TEXTFIELD_REAL)

FXHorizontalSeparator.new(self, SEPARATOR_GROOVE|LAYOUT_FILL_X,20,20,20,20,0,0,10,10)           

#"Draw Function"-Button zum Zeichnen der Funktion               
        drawButton = FXButton.new(self, "&Draw function", nil, nil, 0,LAYOUT_CENTER_X|
                                                                                                                FRAME_THICK|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT,
                                                                                                                0, 0, 0, 0, 20, 20, 5, 5) 
        
        drawButton.connect(SEL_COMMAND) do     
                        owner.drawFunction(@functionTarget, @zoomTarget,
                                                                                                 @zoomMode.value, @xCoordTarget,
                                                                                                 @yCoordTarget)             
                end
        end