Hi Martin,

Recently I tried my hand at nested types (a private type defined inside
another type). I just realised that MSEide doesn't support nested types
- in that I can't Ctrl+Down or Ctrl+Up to navigate the methods from
Interface section to Implementation section or vice versa.

Are you planning to support this syntax in MSEide?

Here is an example of such a nested type in the interface section. I
placed comment markers to show the nested type code.


===========================================
  TfpgBaseTextEdit = class(TfpgWidget)
  private
    // nested type START
    type
      TSelDrag = (sdNone, sdMightDrag, sdDragging ,sdDragged);

      TSelection = object
      private
        FEdit: TfpgBaseTextEdit;
        FOrigin: TfpgPoint;
        FStartPos: TfpgPoint;
        FEndPos: TfpgPoint;
        procedure SetEndPos(AValue: TfpgPoint);
        procedure SetStartPos(AValue: TfpgPoint);
      public
        function  HasContent: Boolean;
        function  StartLine: Integer;
        function  EndLine: Integer;
        function  Contains(APoint: TfpgPoint): Boolean;
        procedure AdjustLines(ADelta: Integer);
        procedure AdjustStartX(ADelta: Integer);
        // Returns True if no changes. False if Line length was adjusted.
        function  ValidateEndOffset(const ALine: String): Boolean;
        property  StartPos: TfpgPoint read FStartPos write SetStartPos;
        property  EndPos: TfpgPoint read FEndPos write SetEndPos;
        property  Origin: TfpgPoint read FOrigin;
      end;
 // nested type END
    class procedure ValidateCaretPosition(var APoint: TfpgPoint; ALines:
TStrings);
  private
    FDefaultDropHandler: TfpgDropEventHandler;
    FFont: TfpgFont;
    FFullRedraw: Boolean;
    FLines: TStrings;
    CaretPos: TPoint;
    FOnDrawLine: TfpgDrawLineEvent;
    FOnFindText: TfpgFindText;
    FOnReplaceText: TfpgReplaceText;
...snip...
===========================================

Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

Reply via email to