using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using Tango.Core;
using Tango.SharedUI.Controls;
namespace Tango.FSE.Common.Navigation
{
public abstract class ModularNavigationManager<T> : ExtendedObject, IModularNavigationNavigationManager<T>
{
private FrameworkElement _navigationControlParent;
private NavigationControl _navigationControl;
private Stack<T> _history;
private T _currentView;
public T CurrentView
{
get { return _currentView; }
protected set { _currentView = value; RaisePropertyChangedAuto(); }
}
public bool CanNavigateBack
{
get { return _history.Count > 0; }
}
public ModularNavigationManager(FrameworkElement navigationControlParent)
{
_history = new Stack<T>();
/* Generated by the protocol buffer compiler. DO NOT EDIT! */
/* Generated from: ProcessParameters.proto */
/* Do not generate deprecated warnings for self */
#ifndef PROTOBUF_C__NO_DEPRECATED
#define PROTOBUF_C__NO_DEPRECATED
#endif
#include "ProcessParameters.pb-c.h"
void process_parameters__init
(ProcessParameters *message)
{
static const ProcessParameters init_value = PROCESS_PARAMETERS__INIT;
*message = init_value;
}
size_t process_parameters__get_packed_size
(const ProcessParameters *message)
{
assert(message->base.descriptor == &process_parameters__descriptor);
return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t process_parameters__pack
(const ProcessParameters *message,
uint8_t *out)
{
assert(message->base.descriptor == &process_parameters__descriptor);
return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t process_parameters__pack_to_buffer
(const ProcessParameters *message,
ProtobufCBuffer *buffer)
{
assert(message->base.descriptor == &process_parameters__descriptor);
return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
ProcessParameters *
process_parameters__unpack
(ProtobufCAllocator *allocator,
size_t len,
const uint8_t *data)
{
return (ProcessParameters *)
protobuf_c_message_unpack (&process_parameters__descriptor,
allocator, len, data);
}
void process_parameters__free_unpacked
(ProcessParameters *message,
ProtobufCAllocator *allocator)
{
if(!message)
return;
assert(message->base.descriptor == &process_parameters__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor process_parameters__field_descriptors[31] =
{
{
"",
1,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(ProcessParameters, has_dyeingspeed),
offsetof(ProcessParameters, dyeingspeed),
NULL,
NULL,
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
{
"",
2,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(ProcessParameters, has_mininkuptake),
offsetof(ProcessParameters, mininkuptake),
NULL,
NULL,
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
{
"",
3,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(ProcessParameters, has_maxinkuptake),
offsetof(ProcessParameters, maxinkuptake),
NULL,
NULL,
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
{
"",
4,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(ProcessParameters, has_feedertension),
offsetof(ProcessParameters, feedertension),
NULL,
NULL,
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
{
"",
5,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(ProcessParameters, has_pullertension),
offsetof(ProcessParameters, pullertension),
NULL,
NULL,
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
{
"",
6,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_DOUBLE,
offsetof(ProcessParameters, has_windertension),
offsetof(ProcessParameters, windertension),
NULL,