use crate::gui::components::types::my_modal::MyModal;
use crate::gui::pages::types::running_page::RunningPage;
use crate::gui::pages::types::settings_page::SettingsPage;
use crate::gui::styles::types::gradient_type::GradientType;
use crate::gui::types::favorite::FavoriteKey;
use crate::networking::traffic_preview::TrafficPreview;
use crate::networking::types::capture_context::CaptureSourcePicklist;
use crate::networking::types::data_representation::DataRepr;
use crate::networking::types::host::HostMessage;
use crate::networking::types::info_traffic::InfoTraffic;
use crate::networking::types::ip_blacklist::IpBlacklist;
use crate::notifications::types::notifications::Notification;
use crate::report::types::search_parameters::SearchParameters;
use crate::report::types::sort_type::SortType;
use crate::utils::types::file_info::FileInfo;
use crate::utils::types::web_page::WebPage;
use crate::{Language, StyleType};
use iced::window;
use std::net::IpAddr;
#[derive(Debug, Clone)]
pub enum Message {
StartApp(Option<window::Id>),
Welcome,
TickRun(usize, InfoTraffic, Vec<HostMessage>, bool),
SetCaptureSource(CaptureSourcePicklist),
DeviceSelection(String),
ToggleFilters,
BpfFilter(String),
DataReprSelection(DataRepr),
ReportSortSelection(SortType),
HostSortSelection(SortType),
ServiceSortSelection(SortType),
ProgramSortSelection(SortType),
HostFavoritesFilterToggle,
ServiceFavoritesFilterToggle,
ProgramFavoritesFilterToggle,
AddOrRemoveFavorite(FavoriteKey, bool),
OpenWebPage(WebPage),
Start,
Reset,
Style(StyleType),
LoadStyle(String),
ShowModal(MyModal),
OpenSettings(SettingsPage),
OpenLastSettings,
HideModal,
CloseSettings,
ChangeRunningPage(RunningPage),
LanguageSelection(Language),
UpdateNotificationSettings(Notification, bool),
ClearAllNotifications,
ChangeVolume(u8),
SwitchPage(bool),
ReturnKeyPressed,
EscKeyPressed,
ResetButtonPressed,
CtrlDPressed,
Search(SearchParameters),
UpdatePageNumber(bool),
ArrowPressed(bool),
WindowFocused,
GradientsSelection(GradientType),
ChangeScaleFactor(f32),
WindowMoved(f32, f32),
WindowResized(f32, f32),
CustomCountryDb(String),
CustomAsnDb(String),
LoadIpBlacklist(String),
SetIpBlacklist(IpBlacklist),
QuitWrapper,
Quit,
CopyIp(IpAddr),
OpenFile(String, FileInfo, fn(String) -> Message),
ToggleExportPcap,
OutputPcapDir(String),
OutputPcapFile(String),
ToggleThumbnail(bool),
Drag,
CtrlTPressed,
CtrlSpacePressed,
ScaleFactorShortcut(bool),
SetNewerReleaseStatus(Option<bool>),
SetPcapImport(String),
PendingHosts(usize, Vec<HostMessage>),
OfflineGap(usize, u32),
Periodic,
ExpandNotification(usize, bool),
ToggleRemoteNotifications,
RemoteNotificationsUrl(String),
Freeze,
TrafficPreview(TrafficPreview),
}