Code Monkey home page Code Monkey logo

eto.devextensions's People

Contributors

cwensley avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

ehtick

eto.devextensions's Issues

Provide a UI designer

What bugs me a little bit about this new (and really cool!) UI toolkit is the fact, that there is no designer available.

I really like WinForms designer and to minor extent the Xcode Interface Builder.

It makes life so much easier in many cases, if you simply can drag widgets to a form and change their properties in a property panel.

I see these options:

  • Implement a new designer app
  • Create a converter, e.g to convert XIB files, WinForms Designer code etc
  • Use existing designers, eg wxFormBuilder or Stetic GTK Designer

This would greatly improve productivity

Rider plugin/support

I've started using Jetbrain's Rider on linux, unlike MD it doesn't have the installation and other issues and works 'out of the box', unlike MD I've had to do very little in the way of figuring out how to enable key features etc.
Although a little heavier than MD, it feels lighter and more responsive than VS. it's cross platform so I'll likely start using it on my windows platform as well.

Rider is still in development so I'm not sure if it's quite there as far as plugin support for what would be required for an eto.forms designer plugin, but there's a blog post here: https://blog.jetbrains.com/dotnet/2017/02/07/rider-front-end-plugin-development/
discussing what can be done.

Namespace can't be found from Preview in Visual Studio Mac

Eto Forms Preview in Visual Studio Mac is not able to load classes from the same project, without getting a compile error.

Steps to Reproduce the Problem

  1. Create project using "dotnet new etoapp -sln -s -xm -m preview"
  2. Create class in subnamespace
  3. Import namespace and instantiate class
  4. Preview Crashes and can not display the content of the form

Code that Demonstrates the Problem

using System;
using Eto.Forms;
using Eto.Drawing;
using TestApp.Model;

namespace TestApp
{
	partial class MainForm : Form
	{
        TestObj t;


        void InitializeComponent()
		{
			Title = "My Eto Form";
			ClientSize = new Size(400, 350);
			Padding = 10;

			t = new TestObj();

		}
	}
}
using System;
using Eto.Forms;
using Eto.Drawing;
using TestApp.Model;

namespace TestApp
{
	public partial class MainForm : Form
	{
		public MainForm()
		{
			InitializeComponent();
		}
	}
}
using System;

namespace TestApp.Model
{
	public class TestObj
	{
		
	}
}

Specifications

  • Version: 2.4.1.1 and current development build
  • Platform(s): Visual Studio Mac
  • Operating System(s): macOS 10.14

Scintilla control for Eto.Forms

Hi,
I have been drafting an Eto.Forms implementation of the Scintilla.NET wrapper. The process looks quite good on my opinion with the possibility to use the control as with WinForms. I don't have any experience with macOS nor any idea of how to implement the control to the macOS. The source code here doesn't compile on Mac - it seems to have been partially implemented though - can someone point me to the right direction with the macOS version so I could make the library support all three operating systems? I would only need a decent start / demo project to go further from there. Thanks ๐Ÿ™‚

Visual Studio Code Addon

The VSIX package for installing for Visual Studio doesn't work for Visual Studio code.
I would like to request that a compatible package be made for VS Code.

Steps to Reproduce the Problem

  1. Download the VSIX package
  2. Go to extensions tab
  3. Select the ellipsis in the extensions tab
  4. Click "install from VSIX"
  5. Select the VSIX package
  6. Receive extension package .json error

image

Specifications

  • Version: 2.5.0
  • Operating System(s): Ubuntu 19.10

Data-Bound Properties in Xeto Designer Design Mode/Preview

Is it possible to preview data-bound controls with dummy data in the designer in Visual Studio for Mac? With WPF and Visual Studio for Windows I've used MVVM Light and ViewModelBase.IsInDesignModeStatic to set up dummy values for data-bound properties on my ViewModels that show up in the Visual Studio designer (and Blend). Is something similar possible with Eto? If not, what is the recommended way to preview data-bound UI to get a feel for layout, size, etc.

Thanks!

VS 2017 addin crashes when incomplete code creates a phantom infinite loop

To be honest up front, I don't know that there's anything to be done about this, it seems rather hairy, but I can't find any issues related to it, so it seems worth bringing up.

Using a project built from the Code Preview template, and working in a form's .eto.cs file with the preview pane visible, attempting to assign a control to its own Content member creates an infinite loop that locks up the IDE and eventually crashes it. This is an admittedly boneheaded thing to do on purpose, but it can happen unintentionally, when the preview attempts to compile incomplete-but-miraculously-compilable code.

Steps to Reproduce the Problem

  1. Create a new Eto.Forms project, using Code Preview (I used separate projects per platform, but I don't think that matters for this).
  2. In the class library project, open MainForm.eto.cs, and find the line where Content is assigned. Change the assignment to instead make a local variable first, and then assign that:
var someVariable = new StackLayout
{
	Items =
	{
		"Hello World!",
		// add more controls here
	}
};



int guardVar = 4; // Just a random number, the important thing is having code here.

Content = someVariable;
  1. Immediately above the 'int guardVar = 4;' line, type "someVariable" and then a period. You should see the Intellisense pop-up that offers suggestions for members, methods, events, and the like, and you should be able to browse them without issue.
  2. Delete "someVariable.", comment out the 'int guardVar' line, and save the changes, since the next step will freeze the IDE.
  3. Once again, above the now-commented-out guardVar line, type someVariable and hit period. The Intellisense pop-up appears for a moment, then everything locks up, and the IDE's devenv.exe process may need to be manually killed with Task Manager, Process Explorer, or something similar.

Expected Behavior

The Intellisense list pops up and lets me browse for the member, method, or event I need.

Actual Behavior

The Intellisense list pops up briefly, then the IDE locks up, eventually crashing with an unhandled exception.

Specifications

  • Version: 2.4.1 and 2.5.0-build1524
  • Platform(s): N/A (crashes in IDE, while looking at code preview)
  • Operating System(s): Windows 10 x64, 1803
  • IDE: Visual Studio Community 2017 v15.8.2

My intent was to define a StackLayout, change it programatically, then assign it to the Content of a form. My ultimate goal turns out not to need that, luckily, but I initially thought it did, which led to discovering this behavior.

After the IDE stops responding, it (at least on my machine) spends several minutes frozen while WerFault.exe collects crash info, and eventually gives a message about an unhandled exception. A separate instance of VS, attached to the first one before the crash, shows it's a stack overflow.

I got the addin up and running in Debug mode, and got down into CodeDomInterfaceBuilder.Compile, only to find there were no compile errors reported, which led me to realize that because StackLayouts have a Content member, just like Forms do, the moment you type the period after someVariable, and there's no actual code between that and the Content assignment (just whitespace, newlines, and comments), the C# code provider thinks it should compile someVariable.Content = someVariable, which while undesirable is technically valid C#, and will compile. This at first appeared to be a code completion issue, like picoe/Eto#471, but it's really the period creating a mirage that triggers the crash; that said period also invokes a code completion pop-up is just a coincidence.

That being said, despite my penchant for typing lots of words, I don't know what, if anything, you can or should do about this. The C# code provider is technically compiling C# just the way it's meant to, stripping out whitespace, newlines, and comments, and as I understand loops like this are difficult to detect, to say the least. Please accept my apologies if I made you read all this for nothing, but I'd feel guilty if I didn't make the issue known. Maybe it'll help somebody else understand why their preview is crashing.

Cannot install Mac version with latest Visual Studio 2022 for Mac

I'm trying to use this extension to build ETO UIs on Mac for a Rhino Plugin I've been working on.

I tried installing the extension, but I get dependency issues about Mono;
image

I'm newer to mac so I'm not really sure how resolve this.
Thanks again,

My hardware

  • Mac OS Ventura 13.3.1 (a)
  • Chip - M1
    Visual Studio
  • Version 17.6.3 (build 421)

Callum

Support Visual Studio 2022 for extension

I have downloaded the .vsix extension package from marketplace.visualstudio.com and tried to install it on Visual Studio 2022, but it gave me an error. This is the log file:

2/7/2022 3:17:20 PM - Microsoft VSIX Installer
2/7/2022 3:17:20 PM - -------------------------------------------
2/7/2022 3:17:20 PM - vsixinstaller.exe version:
2/7/2022 3:17:20 PM - 17.0.5226-preview5
2/7/2022 3:17:20 PM - -------------------------------------------
2/7/2022 3:17:20 PM - Command line parameters:
2/7/2022 3:17:20 PM - C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service\VSIXInstaller.exe,C:\Users\teamc\Downloads\Eto.Addin.VisualStudio.Windows-2.5.11.vsix
2/7/2022 3:17:20 PM - -------------------------------------------
2/7/2022 3:17:20 PM - Microsoft VSIX Installer
2/7/2022 3:17:20 PM - -------------------------------------------
2/7/2022 3:17:21 PM - Initializing Install...
2/7/2022 3:17:21 PM - Extension Details...
2/7/2022 3:17:21 PM - 	Identifier         : Eto.Addin.VisualStudio
2/7/2022 3:17:21 PM - 	Name               : Eto.Forms Visual Studio Addin
2/7/2022 3:17:21 PM - 	Author             : Curtis Wensley
2/7/2022 3:17:21 PM - 	Version            : 2.5.11
2/7/2022 3:17:21 PM - 	Description        : Eto.Forms Support for Visual Studio.  Eto.Forms is a cross platform GUI framework for desktop and mobile applications in .NET that can target Wpf, WinForms, Direct2D, MonoMac, Xamarin.Mac, Gtk2, and Gtk3 with a single codebase.
2/7/2022 3:17:21 PM - 	Locale             : en-US
2/7/2022 3:17:21 PM - 	MoreInfoURL        : https://github.com/picoe/Eto
2/7/2022 3:17:21 PM - 	InstalledByMSI     : False
2/7/2022 3:17:21 PM - 	SupportedFrameworkVersionRange : [4.7.2,)
2/7/2022 3:17:21 PM - 
2/7/2022 3:17:21 PM - 	SignatureState     : Unsigned
2/7/2022 3:17:21 PM - 	Supported Products : 
2/7/2022 3:17:21 PM - 		Microsoft.VisualStudio.Pro
2/7/2022 3:17:21 PM - 			Version : [16.0,)
2/7/2022 3:17:21 PM - 			ProductArchitecture : x86
2/7/2022 3:17:21 PM - 		Microsoft.VisualStudio.Community
2/7/2022 3:17:21 PM - 			Version : [16.0,)
2/7/2022 3:17:21 PM - 			ProductArchitecture : x86
2/7/2022 3:17:21 PM - 		Microsoft.VisualStudio.Enterprise
2/7/2022 3:17:21 PM - 			Version : [16.0,)
2/7/2022 3:17:21 PM - 			ProductArchitecture : x86
2/7/2022 3:17:21 PM - 
2/7/2022 3:17:21 PM - 	References         : 
2/7/2022 3:17:21 PM - 		-------------------------------------------------------
2/7/2022 3:17:21 PM - 		Identifier   : Microsoft.VisualStudio.MPF.16.0
2/7/2022 3:17:21 PM - 		Name         : Visual Studio MPF 16.0
2/7/2022 3:17:21 PM - 		Version      : [16.0,)
2/7/2022 3:17:21 PM - 		MoreInfoURL  : 
2/7/2022 3:17:21 PM - 		Nested       : No
2/7/2022 3:17:21 PM - 
2/7/2022 3:17:21 PM - 		-------------------------------------------------------
2/7/2022 3:17:21 PM - 		Identifier   : 3B5EAFB3-87E4-4986-8924-D24DF860D894
2/7/2022 3:17:21 PM - 		Name         : Microsoft Visual Studio Template Engine
2/7/2022 3:17:21 PM - 		Version      : [16.4.457.38025,)
2/7/2022 3:17:21 PM - 		MoreInfoURL  : 
2/7/2022 3:17:21 PM - 		Nested       : No
2/7/2022 3:17:21 PM - 
2/7/2022 3:17:21 PM - 	Prerequisites      : 
2/7/2022 3:17:21 PM - 		-------------------------------------------------------
2/7/2022 3:17:21 PM - 		Identifier   : Microsoft.VisualStudio.Component.CoreEditor
2/7/2022 3:17:21 PM - 		Name         : Visual Studio core editor
2/7/2022 3:17:21 PM - 		Version      : [16.0,)
2/7/2022 3:17:21 PM - 
2/7/2022 3:17:21 PM - 		-------------------------------------------------------
2/7/2022 3:17:21 PM - 		Identifier   : Microsoft.NetCore.Component.SDK
2/7/2022 3:17:21 PM - 		Name         : .NET Core 3.1 SDK
2/7/2022 3:17:21 PM - 		Version      : [16.0,)
2/7/2022 3:17:21 PM - 
2/7/2022 3:17:21 PM - 		-------------------------------------------------------
2/7/2022 3:17:21 PM - 		Identifier   : Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites
2/7/2022 3:17:21 PM - 		Name         : .NET desktop development tools
2/7/2022 3:17:21 PM - 		Version      : [16.0,)
2/7/2022 3:17:21 PM - 
2/7/2022 3:17:21 PM - 		-------------------------------------------------------
2/7/2022 3:17:21 PM - 		Identifier   : Microsoft.Net.Component.4.7.2.TargetingPack
2/7/2022 3:17:21 PM - 		Name         : .NET Framework 4.7.2 targeting pack
2/7/2022 3:17:21 PM - 		Version      : [16.0,)
2/7/2022 3:17:21 PM - 
2/7/2022 3:17:21 PM - Signature Details...
2/7/2022 3:17:21 PM - 	Extension is not signed.
2/7/2022 3:17:21 PM - 
2/7/2022 3:17:21 PM - Searching for applicable products...
2/7/2022 3:17:21 PM - Found installed product - Global Location
2/7/2022 3:17:21 PM - Found installed product - Visual Studio Community 2022
2/7/2022 3:17:21 PM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
   at VSIXInstaller.ExtensionService.GetInstallableDataImpl(IInstallableExtension extension, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
   at VSIXInstaller.ExtensionService.GetInstallableData(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
   at VSIXInstaller.ExtensionPackService.IsExtensionPack(IStateData stateData, Boolean isRepairSupported)
   at VSIXInstaller.ExtensionPackService.ExpandExtensionPackToInstall(IStateData stateData, Boolean isRepairSupported)
   at VSIXInstaller.App.Initialize(Boolean isRepairSupported)
   at VSIXInstaller.App.Initialize()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
  • Version: Eto.Addin.VisualStudio.Windows-2.5.11.vsix
  • Platform(s): WinForms on .NET 5.0
  • Operating System(s): Windows 10 Version 21H2 (build 19044.1466)

( Sorry for my bad English :( )

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.