IT tutorials
 
Office
 

Microsoft Visio 2010 : Displaying the rule for a selected issue

- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Product Key Free : Microsoft Office 2019 – Serial Number
1/14/2012 11:28:59 AM
The built-in Issues window, which is opened from the Diagram Validation group on the Process tab, provides an existing method for a user to select an issue. Therefore we can synchronize the selected rule in the Rules Explorer whenever an issue is selected. This enables the rules developer to analyze the expressions used.

Actually, the Issues window does not cause any events at all, but it does select the target shape or page whenever an issue is selected in the window.

Thus, we can use the Application.Window_SelectionChanged() event to test if the Issues window is open. If it is, then the selected issue ID is sent into the veApplication.SetSelectedIssue() method.

private void Window_SelectionChanged(Visio.Window Window)
{
//Check the selected Issue
Visio.Window winIssues = Window.Windows.get_ItemFromID( (short)Visio.VisWinTypes.visWinIDValidationIssues);
if (winIssues.Visible == false)
{
selectedIssueID = -1;
veApplication.SetSelectedIssue(Window.Document.ID, null);
}
else
{
if (winIssues.SelectedValidationIssue != null)
{
selectedIssueID = winIssues.SelectedValidationIssue.ID;
veApplication.SetSelectedIssue(Window.Document.ID,
selectedIssueID);
}
else
{
selectedIssueID = -1;
veApplication.SetSelectedIssue(Window.Document.ID, null);
}
}
}



The VEApplication.SetSelectedIssue() method then gets the correct VEDocument object, and passes the issue ID through to it via the selectedVEDocument.SetSelectedIssue(issue) method.

public void SetSelectedIssue(int? docid, int? issue)
{
if (docid.HasValue && this.VEDocuments.Count() > 0)
{
selectedVEDocument = this.VEDocuments.Single(doc => doc.ID == docid);
selectedVEDocument.SetSelectedIssue(issue);
}
else
{
selectedVEDocument = null;
}
}

Finally, the VEDocument object sets the SelectedVEIssue property by selecting it from the VEIssues collection. This sets the IsSelected property of all VERuleSet and VERule objects before setting the IsSelected property of VERuleSet and VERule of the selected issue to true.

public void SetSelectedIssue(int? iss)
{
if (iss.HasValue)
{
this.SelectedVEIssue = this.VEIssues.Single( issu => issu.ID == iss);
selectedVEIssue.IsSelected = true;
var results = from rls in this.VERuleSets select rls;
foreach (VERuleSet rls in results)
{
rls.IsSelected = false;
rls.UnSelect();
}
this.SelectedVERuleSet = this.VERuleSets.Single( rs => rs.ID == selectedVEIssue.Rule.RuleSet.ID);
selectedVERuleSet.IsSelected = true;
this.SelectedVERule = selectedVERuleSet.VERules.Single( rl => rl.ID == selectedVEIssue.Rule.ID);
selectedVERule.IsSelected = true;
}
else
{
this.SelectedVEIssue = null;
this.SelectedVERuleSet = null;
this.SelectedVERule = null;
}
}



Now, because the IsSelected property of the tree view items are bound to the IsSelected property of the underlying objects, the UI instantly reacts and displays the details of the rule for the selected issue in the Issues window.

For example, the UserControlExplorer.xaml file contains the HierarchicalDataTemplate for the rule. This definition does not contain any binding for the TreeViewItem because it merely describes the UI elements for the item. In order to set the binding for the item, and to vary the colors when it is selected, you can define a Style with the TargetType="{x:Type TreeViewItem}" attribute. This style will automatically be applied to each TreeViewItem as follows:

<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="IsExpanded" Value="{Binding Path=IsExpanded}" />
<Setter Property="IsSelected" Value="{Binding Path=IsSelected}" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsSelected}" Value="True">
<Setter Property="Background" Value="Black" />
<Setter Property="Foreground" Value="White" />
</DataTrigger>
</Style.Triggers>
</Style>
<HierarchicalDataTemplate x:Key="RuleTemplate"
DataType="{x:Type localVM:VERule}" >
<StackPanel Orientation="Horizontal"
ToolTip="{StaticResource ResourceKey=RuleToolTip}">
<Image Source="..\Images\IssueTracking_32x32.png"
Style="{StaticResource ResourceKey=ImageStyle}" />
<TextBlock Text="{Binding Path=DisplayName}"
Style="{StaticResource ResourceKey=TreeItemStyle}" />
</StackPanel>
</HierarchicalDataTemplate>
 
Others
 
- Accessing PowerPoint on the Web and Mobile Devices (part 2) - Setting SkyDrive Permissions
- Accessing PowerPoint on the Web and Mobile Devices (part 1) - Setting Up SkyDrive
- Microsoft PowerPoint 2010 : Managing Themes
- Microsoft Excel 2010 : Printing in Excel - Adjusting Page Margins & Inserting Page Breaks
- Microsoft Excel 2010 : Setting the Print Area
- Microsoft Outlook 2010 : Setting Up Mobile Alerts for Important Messages
- Microsoft Outlook 2010 : Setting Up Calendar Alerts
- Microsoft OneNote 2010 : Searching for Stray Notes (part 2)
- Microsoft OneNote 2010 : Searching for Stray Notes (part 1)
- Microsoft PowerPoint 2010 : Managing Slide Masters
 
 
Top 10
 
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
Technology FAQ
- Is possible to just to use a wireless router to extend wireless access to wireless access points?
- Ruby - Insert Struct to MySql
- how to find my Symantec pcAnywhere serial number
- About direct X / Open GL issue
- How to determine eclipse version?
- What SAN cert Exchange 2010 for UM, OA?
- How do I populate a SQL Express table from Excel file?
- code for express check out with Paypal.
- Problem with Templated User Control
- ShellExecute SW_HIDE
programming4us programming4us