local g="\078\101\120\117\115\080\108\117\103\105\110\071\117\105"local A=(require(script.Parent.Parent:WaitForChild("\078\101\120\117\115\080\108\117\103\105\110\070\114\097\109\101\119\111\114\107\080\114\111\106\101\099\116"))):GetContext(script)local I=A:GetResource("\066\097\115\101\046\078\101\120\117\115\087\114\097\112\112\101\100\073\110\115\116\097\110\099\101")local O=A:GetResource("\080\108\117\103\105\110\046\078\101\120\117\115\080\108\117\103\105\110")local Y=A:GetResource("\080\108\117\103\105\110\046\078\101\120\117\115\080\108\117\103\105\110\066\117\116\116\111\110")local z=I:Extend()z:SetClassName(g)A:SetContextResource(z)function z.__new(I,g,A)local Y=(O.GetPlugin()):CreateDockWidgetPluginGui(g,A)I:InitializeSuper(Y)I:__SetChangedOverride("\080\108\117\103\105\110\071\117\105",function() end)I.PluginGui=Y I.Title=g I.Name=g end return z
--[[
TheNexusAvenger

Mirrors the API of Roblox's PluginGui class.
--]]

local CLASS_NAME = "NexusPluginGui"



local NexusPluginFramework = require(script.Parent.Parent:WaitForChild("NexusPluginFrameworkProject")):GetContext(script)
local NexusWrappedInstance = NexusPluginFramework:GetResource("Base.NexusWrappedInstance")
local NexusPlugin = NexusPluginFramework:GetResource("Plugin.NexusPlugin")
local NexusPluginButton = NexusPluginFramework:GetResource("Plugin.NexusPluginButton")

local NexusPluginGui = NexusWrappedInstance:Extend()
NexusPluginGui:SetClassName(CLASS_NAME)
NexusPluginFramework:SetContextResource(NexusPluginGui)



--[[
Creates a Nexus Plugin Gui object.
--]]
function NexusPluginGui:__new(WidgetName,DockWidgetInfo)
	local PluginGui = NexusPlugin.GetPlugin():CreateDockWidgetPluginGui(WidgetName,DockWidgetInfo)
	self:InitializeSuper(PluginGui)
	
	--Store the Gui.
	self:__SetChangedOverride("PluginGui",function() end)
	self.PluginGui = PluginGui
	
	--Set the defaults.
	self.Title = WidgetName
	self.Name = WidgetName
end



return NexusPluginGui