void IInspectorTabModule.Load(IInspectorWindow inspectorWindow, ITabWrapper tab)
        {
            this.inspectorWindow = inspectorWindow;
            var path = Path.GetDirectoryName(GetType().Assembly.Location);

            configFilePath = Path.Combine(path, "user.cfg");
            config         = ReadConfig(configFilePath);

            var toolbarTab     = tab.NativeObject as NSTabView;
            var figmaStackView = NativeViewHelper.CreateVerticalStackView(translatesAutoresizingMaskIntoConstraints: true);

            var figmaTokenStackView = NativeViewHelper.CreateHorizontalStackView(translatesAutoresizingMaskIntoConstraints: true);

            figmaStackView.AddArrangedSubview(figmaTokenStackView);

            figmaTokenStackView.AddArrangedSubview(NativeViewHelper.CreateLabel("Your personal access token:", translatesAutoresizingMaskIntoConstraints: true));
            tokenTextField = NativeViewHelper.CreateTextEntry(config.Token, translatesAutoresizingMaskIntoConstraints: true);
            figmaTokenStackView.AddArrangedSubview(tokenTextField);
            tokenTextField.Activated += DataChanged;

            var figmaDocumentStackView = NativeViewHelper.CreateHorizontalStackView(translatesAutoresizingMaskIntoConstraints: true);

            figmaStackView.AddArrangedSubview(figmaDocumentStackView);
            figmaDocumentStackView.AddArrangedSubview(NativeViewHelper.CreateLabel("File:", translatesAutoresizingMaskIntoConstraints: true));
            fileTextField            = NativeViewHelper.CreateTextEntry(config.File, translatesAutoresizingMaskIntoConstraints: true);
            fileTextField.Activated += DataChanged;
            figmaDocumentStackView.AddArrangedSubview(fileTextField);

            var figmaWindowNameStackView = NativeViewHelper.CreateHorizontalStackView(translatesAutoresizingMaskIntoConstraints: true);

            figmaStackView.AddArrangedSubview(figmaWindowNameStackView);

            figmaWindowNameStackView.AddArrangedSubview(NativeViewHelper.CreateLabel("Node Name:", translatesAutoresizingMaskIntoConstraints: true));
            nodeTextField            = NativeViewHelper.CreateTextEntry(config.NodeName, translatesAutoresizingMaskIntoConstraints: true);
            nodeTextField.Activated += DataChanged;

            figmaWindowNameStackView.AddArrangedSubview(nodeTextField);

            var figmaWindowContainerIdStackView = NativeViewHelper.CreateHorizontalStackView(translatesAutoresizingMaskIntoConstraints: true);

            figmaStackView.AddArrangedSubview(figmaWindowContainerIdStackView);

            figmaWindowContainerIdStackView.AddArrangedSubview(NativeViewHelper.CreateLabel("View Name:", translatesAutoresizingMaskIntoConstraints: true));
            viewTextField            = NativeViewHelper.CreateTextEntry(config.ViewName, translatesAutoresizingMaskIntoConstraints: true);
            viewTextField.Activated += DataChanged;

            figmaWindowContainerIdStackView.AddArrangedSubview(viewTextField);

            figmaCompute = new NSButton()
            {
                TranslatesAutoresizingMaskIntoConstraints = true
            };
            figmaStackView.AddArrangedSubview(figmaCompute);
            figmaCompute.Title = "Load in selected view";

            //Separator
            figmaStackView.AddArrangedSubview(new NSView());

            //////
            var tabFigmaPanel = new NSTabViewItem();

            tabFigmaPanel.View  = figmaStackView;
            tabFigmaPanel.Label = "Figma";

            toolbarTab.Add(tabFigmaPanel);

            figmaCompute.Activated += FigmaCompute_Activated;
        }
Example #2
0
        static void Main(string[] args)
        {
            NSApplication.Init();
            NSApplication.SharedApplication.ActivationPolicy = NSApplicationActivationPolicy.Regular;

            var xPos       = NSScreen.MainScreen.Frame.Width / 2;  // NSWidth([[window screen] frame])/ 2 - NSWidth([window frame])/ 2;
            var yPos       = NSScreen.MainScreen.Frame.Height / 2; // NSHeight([[window screen] frame])/ 2 - NSHeight([window frame])/ 2;
            var mainWindow = new MacAccInspectorWindow(new CGRect(xPos, yPos, 300, 368), NSWindowStyle.Titled | NSWindowStyle.Resizable | NSWindowStyle.Closable, NSBackingStore.Buffered, false);

            var stackView = new NSStackView()
            {
                Orientation = NSUserInterfaceLayoutOrientation.Vertical
            };

            mainWindow.ContentView = stackView;
            stackView.AddArrangedSubview(new NSTextField {
                StringValue = "123"
            });

            stackView.AddArrangedSubview(new NSTextField {
                StringValue = "45"
            });
            stackView.AddArrangedSubview(new NSTextField {
                StringValue = "345"
            });
            var button = new NSButton {
                Title = "Press to show a message"
            };

            stackView.AddArrangedSubview(button);

            var hotizontalView = new NSStackView()
            {
                Orientation = NSUserInterfaceLayoutOrientation.Horizontal
            };

            hotizontalView.AddArrangedSubview(new NSTextField()
            {
                StringValue = "test"
            });

            stackView.AddArrangedSubview(hotizontalView);

            button.Activated += (sender, e) => {
                var alert = new NSAlert();
                alert.MessageText     = "You clicked the button!!!";
                alert.InformativeText = "Are you sure!?";
                alert.AddButton("OK!");
                alert.RunModal();
            };

            var button2 = new NSButton {
                Title = "Opens Localized text"
            };

            button2.Activated += (sender, e) => {
                var window = new NSWindow()
                {
                    StyleMask = NSWindowStyle.Titled | NSWindowStyle.Resizable | NSWindowStyle.Closable
                };
                var stack = NativeViewHelper.CreateHorizontalStackView();
                var label = NativeViewHelper.CreateLabel("hello");
                stack.AddArrangedSubview(label);
                window.ContentView = stack;
                window.WillClose  += (sender1, e1) =>
                {
                    window.Dispose();
                };
                window.MakeKeyAndOrderFront(mainWindow);
            };
            stackView.AddArrangedSubview(button2);
            button2.HeightAnchor.ConstraintEqualToConstant(100).Active = true;;

            mainWindow.Title = "Example Debug Xamarin.Mac";

            //mainWindow.MakeKeyWindow();
            mainWindow.MakeKeyAndOrderFront(null);
            NSApplication.SharedApplication.ActivateIgnoringOtherApps(true);
            NSApplication.SharedApplication.Run();
            //mainWindow.Dispose();
        }