public FigmaDragAndDropContent()

in tools/MonoDevelop.Figma/Views/FigmaDragAndDropContent.cs [77:150]


        public FigmaDragAndDropContent()
        {
            toolbarBox = ViewHelpers.CreateHorizontalStackView();
            toolbarBox.EdgeInsets = new NSEdgeInsets(0, 10, 0, 10);
            AddSubview(toolbarBox);
            toolbarBox.AutoresizingMask = NSViewResizingMask.WidthSizable;
            toolbarBox.WantsLayer = true;
            fileTextField = new NSTextField();
            fileTextField.PlaceholderString = "Type the document id to load";
            fileTextField.StringValue = "Dq1CFm7IrDi3UJC7KJ8zVjOt";
            toolbarBox.AddArrangedSubview(fileTextField);

            openFileButton = new NSButton() { Title = "" };
            openFileButton.BezelStyle = NSBezelStyle.RoundRect;
            toolbarBox.AddArrangedSubview(openFileButton);

            openFileButton.Activated += openFileButton_Activated;

            exportButton = new NSPopUpButton();

            var icon = (NSImage) FigmaSharp.AppContext.Current.GetImageFromManifest(this.GetType().Assembly, "pe-path-reveal@2x").NativeObject;
            openFileButton.Image = icon;

            foreach (var item in Options)
            {
                exportButton.AddItem(item.Item1);
            }
           
            toolbarBox.AddArrangedSubview(exportButton);

            outlinePanel = new OutlinePanel();
            scrollView = outlinePanel.EnclosingScrollView;
            outlinePanel.RaiseFirstResponder += OutlinePanel_RaiseFirstResponder;

            AddSubview(scrollView);

            toolbarBox.SetFrameSize(new CGSize(Frame.Width, 30));
            scrollView.SetFrameOrigin(new CGPoint(0, 30));
            scrollView.SetFrameSize(new CGSize(Frame.Width, Frame.Height - 30));

            scrollView.AutoresizingMask = NSViewResizingMask.HeightSizable | NSViewResizingMask.WidthSizable; 

            figmaDelegate = new FigmaDesignerDelegate();
            fileProvider = new ControlRemoteNodeProvider();

            SetCocoaCodeRenderer ();
            //SetCodeRenderer(ModuleService.Platform.MAC);

            outlinePanel.DoubleClick += (sender, node) =>
            {
                var code = GetCode (node);
                SelectCode?.Invoke(this, code);
            };

            outlinePanel.StartDrag += (sender, e) =>
            {
                var entries = new Gtk.TargetEntry[]
                {
                     new Gtk.TargetEntry(e.id, Gtk.TargetFlags.App, TextType)
                };
                DragSourceSet?.Invoke(this, entries);
                DragBegin?.Invoke(this, EventArgs.Empty);
            };

            exportButton.Activated += (sender, e) =>
            {
                var item = Options[(int)exportButton.IndexOfSelectedItem];
                SetCodeRenderer(item.Item2);
            };

            RefreshEnabledStatement ();

            FigmaRuntime.TokenChanged += FigmaRuntime_TokenChanged;
        }