internal WidgetDesignerBackend(Gtk.Container container, int designWidth, int designHeight) { ShadowType = ShadowType.None; HscrollbarPolicy = PolicyType.Automatic; VscrollbarPolicy = PolicyType.Automatic; resizableFixed = new ResizableFixed(); resizableFixed.ObjectViewer = defaultObjectViewer; wrapper = ObjectWrapper.Lookup(container); Gtk.Window window = container as Gtk.Window; if (window != null) { try { metacityPreview = CreateMetacityPreview(window); preview = metacityPreview; if (wrapper != null) { wrapper.Notify += OnWindowPropChange; } } catch { // If metacity is not available, use a regular box. EventBox eventBox = new EventBox(); eventBox.Add(container); preview = eventBox; } } else { EventBox eventBox = new EventBox(); eventBox.Add(container); preview = eventBox; } resizableFixed.Put(preview, container); if (designWidth != -1) { preview.WidthRequest = designWidth; preview.HeightRequest = designHeight; resizableFixed.AllowResize = true; } else { resizableFixed.AllowResize = false; } preview.SizeAllocated += new Gtk.SizeAllocatedHandler(OnResized); AddWithViewport(resizableFixed); if (wrapper != null) { wrapper.AttachDesigner(resizableFixed); } resizableFixed.SelectionChanged += OnSelectionChanged; }
internal WidgetDesignerBackend (Gtk.Container container, int designWidth, int designHeight) { ShadowType = ShadowType.None; HscrollbarPolicy = PolicyType.Automatic; VscrollbarPolicy = PolicyType.Automatic; resizableFixed = new ResizableFixed (); resizableFixed.ObjectViewer = defaultObjectViewer; wrapper = ObjectWrapper.Lookup (container); TopLevelWindow window = container as TopLevelWindow; if (window != null) { preview = Stetic.Windows.Preview.Create (window); if (preview == null) { // Use a regular box. EventBox eventBox = new EventBox (); eventBox.Add (container); preview = eventBox; } } else { EventBox eventBox = new EventBox (); eventBox.Add (container); preview = eventBox; } resizableFixed.Put (preview, container); if (designWidth != -1) { preview.WidthRequest = designWidth; preview.HeightRequest = designHeight; resizableFixed.AllowResize = true; } else { resizableFixed.AllowResize = false; } preview.SizeAllocated += new Gtk.SizeAllocatedHandler (OnResized); AddWithViewport (resizableFixed); if (wrapper != null) wrapper.AttachDesigner (resizableFixed); resizableFixed.SelectionChanged += OnSelectionChanged; }