UPDATE:
This is my second attempt of understanding your problem:)
I'm now assuming that what you want is for Categories Widget to show only parent (main) categories.
If so you could use this the code:
function include_widget_categories($args)
{
$cats_id="";
$parent_args = array(
'orderby' => 'name',
'parent' => 0
);
$categories = get_categories( $parent_args );
foreach ( $categories as $category )
$cats_id.=$category->cat_ID.",";
$cats_id=substr($cats_id,0,-1);
$args["include"] = $cats_id;// The IDs of the including categories
return $args;
}
add_filter("widget_categories_args","include_widget_categories");
Add the above code in functions.php.