class SmartWindowMainLayoutWidgetController extends ComputerMainLayoutWidgetController
{
	[ category = "Widget Refs" ]
	private editable var m_menuMailsSlot : inkWidgetRef;
	[ category = "Widget Refs" ]
	private editable var m_menuFilesSlot : inkWidgetRef;
	[ category = "Widget Refs" ]
	private editable var m_menuNewsFeedSlot : inkWidgetRef;
	[ category = "Widget Refs" ]
	private editable var m_menuDevicesSlot : inkWidgetRef;

	public override function Initialize( gameController : ComputerInkGameController )
	{
		m_mainMenu.SetVisible( false );
		m_isInitialized = true;
	}

	public override function GetDevicesMenuContainer() : weak< inkWidget >
	{
		return inkWidgetRef.Get( m_menuDevicesSlot );
	}

	public override function GetNewsfeedMenuContainer() : weak< inkWidget >
	{
		return inkWidgetRef.Get( m_menuNewsFeedSlot );
	}

	public override function GetMailsMenuContainer() : weak< inkWidget >
	{
		return inkWidgetRef.Get( m_menuMailsSlot );
	}

	public override function GetFilesMenuContainer() : weak< inkWidget >
	{
		return inkWidgetRef.Get( m_menuFilesSlot );
	}

	public override function SetMailsMenu( gameController : ComputerInkGameController, parentWidget : weak< inkWidget > )
	{
		super.SetMailsMenu( gameController, parentWidget );
		if( m_mailsMenu != NULL )
		{
			m_mailsMenu.SetSizeRule( inkESizeRule.Stretch );
		}
	}

	public override function SetFilesMenu( gameController : ComputerInkGameController, parentWidget : weak< inkWidget > )
	{
		super.SetFilesMenu( gameController, parentWidget );
		if( m_filesMenu != NULL )
		{
			m_filesMenu.SetSizeRule( inkESizeRule.Stretch );
		}
	}

	public override function SetDevicesMenu( widget : inkWidget )
	{
		m_devicesMenu = widget;
	}

	public override function SetNewsFeedMenu( gameController : ComputerInkGameController, parentWidget : weak< inkWidget > )
	{
		super.SetNewsFeedMenu( gameController, parentWidget );
		if( m_newsFeedMenu != NULL )
		{
			m_newsFeedMenu.SetSizeRule( inkESizeRule.Stretch );
		}
	}

	public override function ShowNewsfeed()
	{
		m_newsFeedMenu.SetVisible( true );
	}

	public override function ShowMails()
	{
		m_mailsMenu.SetVisible( true );
	}

	public override function ShowFiles()
	{
		m_filesMenu.SetVisible( true );
	}

	public override function ShowDevices()
	{
		m_devicesMenu.SetVisible( true );
	}

}

