This class records the layout information of all toolbars inside a given ToolStripContainer.
We then use this class to arrange toolbars to their correct location in this container.
This is a temporary work around for ToolStrip layout. I created this class for two reasons:
1. The standard ToolStrip that provided by Microsoft has bugs and their position cannot be accurately set. I googled this and I found a lot of developers complained about this, see the link: connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=114610
2. Replace ToolStrip with other products can solve this problem, However, doing so means completely rewrite of the icon management, the buttons on the toolbars, the container panel of the toolbars, the save and load of toolbar layout information ---- which, means the completely rewrite of the entire toolbar mechanism of both scene explorer and material explorer. We decide to do this in Zelda timeframe.
Public Member Functions |
|
ToolStripContainerLayout (ToolStripContainer aToolStripContainer) | |
Constructor. |
|
void | Clear () |
Clear all layout information of this
ToolStripContainer. |
|
void | AddToolStrip (ToolStripPanelLocation location, int row, ToolStrip toolStrip) |
Add a ToolStrip at the given location of
this ToolStripContainer. |
|
void | SuspendLayout () |
Suspend the layout of all toolstrips of this
ToolStripContainer. |
|
void | ResumeLayout () |
Resume the layout of all toolstrips of this
ToolStripContainer. |
|
void | PerformLayout () |
Perform the layout of all toolstrips of this
container. |
MaxCustomControls::ToolStripContainerLayout::ToolStripContainerLayout | ( | ToolStripContainer | aToolStripContainer | ) | [inline] |
Constructor.
aToolStripContainer | The given ToolStripContainer. |
void MaxCustomControls::ToolStripContainerLayout::Clear | ( | ) | [inline] |
Clear all layout information of this ToolStripContainer.
void MaxCustomControls::ToolStripContainerLayout::AddToolStrip | ( | ToolStripPanelLocation | location, |
int | row, | ||
ToolStrip | toolStrip | ||
) | [inline] |
Add a ToolStrip at the given location of this ToolStripContainer.
location | Which panel does this ToolStrip lay? |
row | Which row of that panel? |
toolStrip | The toolstrip. |
void MaxCustomControls::ToolStripContainerLayout::SuspendLayout | ( | ) | [inline] |
Suspend the layout of all toolstrips of this ToolStripContainer.
So even the property of a toolstrip get changed, we won't perform layout.
void MaxCustomControls::ToolStripContainerLayout::ResumeLayout | ( | ) | [inline] |
Resume the layout of all toolstrips of this ToolStripContainer.
Notice this function will not perform layout. You need to explicitly call PerformLayout.
void MaxCustomControls::ToolStripContainerLayout::PerformLayout | ( | ) | [inline] |
Perform the layout of all toolstrips of this container.