public FigmaDesignerOutlinePad()
        {
            outlinePanel = new OutlinePanel();

            outlinePanel.RaiseFirstResponder += (s, e) =>
            {
                RaiseFirstResponder?.Invoke(s, e);
            };
            outlinePanel.RaiseDeleteItem += (s, e) =>
            {
                RaiseDeleteItem?.Invoke(s, e);
            };

            var widget = GtkMacInterop.NSViewToGtkWidget(outlinePanel.EnclosingScrollView);

            CanFocus  = widget.CanFocus = true;
            Sensitive = widget.Sensitive = true;

            widget.Focused += FigmaDesignerOutlinePad_Focused;

            PackStart(widget, true, true, 0);
            ShowAll();

            Focused += FigmaDesignerOutlinePad_Focused;
        }
Ejemplo n.º 2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            copyCSButton.Activated         += CopyCSButton_Activated;
            copyDesignerCSButton.Activated += CopyDesignerCSButton_Activated;
            openUrlButton.Activated        += OpenUrlButton_Activated;

            // Do any additional setup after loading the view.
            outlinePanel = new OutlinePanel();

            var scrollView = outlinePanel.EnclosingScrollView;

            outlinePanel.RaiseFirstResponder += OutlinePanel_RaiseFirstResponder;

            urlTextField.Activated += UrlTextField_Activated;

            treeHierarchyContainer.AddSubview(scrollView);

            treeHierarchyContainer.TranslatesAutoresizingMaskIntoConstraints = false;
            scrollView.TranslatesAutoresizingMaskIntoConstraints             = false;

            scrollView.TopAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.TopAnchor).Active       = true;
            scrollView.BottomAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.BottomAnchor).Active = true;
            scrollView.LeftAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.LeftAnchor).Active     = true;
            scrollView.RightAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.RightAnchor).Active   = true;

            figmaDelegate = new FigmaDesignerDelegate();

            urlTextField.StringValue = fileIds;

            RefreshTree(fileIds);
        }
Ejemplo n.º 3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            scrollViewWrapper = new ScrollViewWrapper(scrollview);
            outlinePanel      = new OutlinePanel();

            var converters = FigmaSharp.AppContext.Current.GetFigmaConverters();

            //we load all the services
            fileProvider        = new FigmaManifestFileProvider(this.GetType().Assembly);
            rendererService     = new FigmaFileRendererService(fileProvider, converters);
            distributionService = new FigmaViewRendererDistributionService(rendererService);

            designerDelegate = new FigmaDesignerDelegate();

            //figma session handles
            session         = new FigmaDesignerSession(fileProvider, rendererService, distributionService);
            designerSurface = new FigmaDesignerSurface(designerDelegate, session);

            // we set to our surface current window to listen changes on it
            var window = NSApplication.SharedApplication.DangerousWindows
                         .FirstOrDefault(s => s is WindowWrapper) as WindowWrapper;

            designerSurface.SetWindow(window);

            //time to reload a figma document in the current session
            session.Reload(scrollViewWrapper, "FigmaStoryboard.figma", new FigmaViewRendererServiceOptions());

            //
            designerSurface.StartHoverSelection();

            var second = new NSWindow(new CGRect(0, 0, 300, 600), NSWindowStyle.Titled | NSWindowStyle.Resizable | NSWindowStyle.Closable, NSBackingStore.Buffered, false);

            window.AddChildWindow(second, NSWindowOrderingMode.Above);

            //propertyPanel = new FigmaPropertyPanel();
            //second.ContentView = propertyPanel.View;
            //propertyPanel.Initialize();

            //surface.FocusedViewChanged += (sender, e) =>
            //{
            //    var model = session.GetModel(e);
            //    propertyPanel.Select(model);
            //};

            //propertyPanel.Select(session.MainViews[0].FigmaNode);
        }
Ejemplo n.º 4
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // Do any additional setup after loading the view.
            outlinePanel = new OutlinePanel();

            var scrollView = outlinePanel.EnclosingScrollView;

            outlinePanel.RaiseFirstResponder += OutlinePanel_RaiseFirstResponder;

            treeHierarchyContainer.AddSubview(scrollView);

            treeHierarchyContainer.TranslatesAutoresizingMaskIntoConstraints = false;
            scrollView.TranslatesAutoresizingMaskIntoConstraints             = false;

            scrollView.TopAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.TopAnchor).Active       = true;
            scrollView.BottomAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.BottomAnchor).Active = true;
            scrollView.LeftAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.LeftAnchor).Active     = true;
            scrollView.RightAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.RightAnchor).Active   = true;

            figmaDelegate = new FigmaDesignerDelegate();

            var converters = FigmaSharp.AppContext.Current.GetFigmaConverters()
                             .Union(Resources.GetConverters())
                             .ToArray();

            fileProvider = new FigmaRemoteFileProvider();
            fileProvider.Load("CobaSo7LmEYsuGZB0ED0ewSs");

            var addChildConverter = new FigmaCodeAddChildConverter();
            var positionConverter = new FigmaCodePositionConverter();

            codeRenderer = new FigmaCodeRendererService(fileProvider, converters, positionConverter, addChildConverter);

            data = new FigmaNodeView(fileProvider.Response.document);
            figmaDelegate.ConvertToNodes(fileProvider.Response.document, data);
            outlinePanel.GenerateTree(data);
        }
Ejemplo n.º 5
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            copyCSButton.Activated         += CopyCSButton_Activated;
            copyDesignerCSButton.Activated += CopyDesignerCSButton_Activated;
            openUrlButton.Activated        += OpenUrlButton_Activated;

            // Do any additional setup after loading the view.
            outlinePanel = new OutlinePanel();

            var scrollView = outlinePanel.EnclosingScrollView;

            outlinePanel.RaiseFirstResponder += OutlinePanel_RaiseFirstResponder;

            urlTextField.Activated += UrlTextField_Activated;

            treeHierarchyContainer.AddSubview(scrollView);

            treeHierarchyContainer.TranslatesAutoresizingMaskIntoConstraints = false;
            scrollView.TranslatesAutoresizingMaskIntoConstraints             = false;

            scrollView.TopAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.TopAnchor).Active           = true;
            scrollView.BottomAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.BottomAnchor).Active     = true;
            scrollView.LeadingAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.LeadingAnchor).Active   = true;
            scrollView.TrailingAnchor.ConstraintEqualToAnchor(treeHierarchyContainer.TrailingAnchor).Active = true;

            translateButton.State = NSCellStateValue.Off;

            figmaDelegate = new FigmaDesignerDelegate();

            if (File.Exists(FilePath))
            {
                urlTextField.StringValue = File.ReadAllText(FilePath) ?? string.Empty;
                RefreshTree(urlTextField.StringValue);
            }
        }