// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Network component additional customization
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Network {
  view: true;
  toolbar: true;
  interactor: true;
  zooming: true;
  backgrounds: true;
}

// Configure the view
View {
  keepingAspectRatio: true;
  maxZoomXFactor: 10;
  maxZoomYFactor: 10;
}

// Configure the toolbar to disallow moving of objects.
ToolBar {
  enabled: true;
  button[0]: @+SelectButton;
  button[1]: @+PanButton;
  button[2]: @+ZoomInButton;
  button[3]: @+ZoomOutButton;
  button[4]: @+ZoomBackButton;
  button[5]: @+ZoomResetButton;
  button[6]: @+FitToContentsButton;
  button[7]: @+ZoomViewButton;
}

#SelectButton {
  actionType: "Select";
  usingObjectInteractor: true;
  popupMenuFactory: @=viewPopupMenuFactory;
  opaqueMove: true;
  action[0]: @+action0;
  action[1]: @+action1;
}

#viewPopupMenuFactory {
  class: 'basic.AlarmPopupMenuFactory';
}

#action0 {
  key: "control A";
  class: "ilog.cpl.graph.action.IlpSelectAllObjectsAction";
}
#action1 {
  gesture: BUTTON1_DOUBLE_CLICKED;
  class: "basic.ShowDetailsAction";
}

#PanButton {
  actionType: "Pan";
  usingObjectInteractor: false;
}

#ZoomInButton {
  actionType: "ZoomIn";
}

#ZoomOutButton {
  actionType: "ZoomOut";
}

#ZoomBackButton {
  actionType: "ZoomBack";
}

#ZoomResetButton {
  actionType: "ZoomReset";
}

#FitToContentsButton {
  actionType: "FitToContents";
  margins: "5";
}

#ZoomViewButton {
  actionType: "ZoomView";
  usingObjectInteractor: false;
}

Interactor {
  name: "Select";
}

// Set the Mixed zoom policy.
Zooming {
  type: "Mixed";
}

// Load a background file.
Backgrounds {
  background[0]: "europe_smaller.png";
}


// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Customize subnetwork expansion mode
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#SubNetwork1 {
  expansion: IN_PLACE;
  subnetworkForeground: '#00000000';
}
#PolyGroup {
  reliefThickness: 1.0;
  borderWidth: 0.5;
  outlineWidth: 4.0;
  outlineInside: false;
}