Compare commits
No commits in common. "main" and "v0.3.1" have entirely different histories.
3111 changed files with 4087 additions and 79725 deletions
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
|
@ -1,38 +0,0 @@
|
||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report to help us improve
|
|
||||||
title: ''
|
|
||||||
labels: ''
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Describe the bug**
|
|
||||||
A clear and concise description of what the bug is.
|
|
||||||
|
|
||||||
**To Reproduce**
|
|
||||||
Steps to reproduce the behavior:
|
|
||||||
1. Go to '...'
|
|
||||||
2. Click on '....'
|
|
||||||
3. Scroll down to '....'
|
|
||||||
4. See error
|
|
||||||
|
|
||||||
**Expected behavior**
|
|
||||||
A clear and concise description of what you expected to happen.
|
|
||||||
|
|
||||||
**Screenshots**
|
|
||||||
If applicable, add screenshots to help explain your problem.
|
|
||||||
|
|
||||||
**Desktop (please complete the following information):**
|
|
||||||
- OS: [e.g. iOS]
|
|
||||||
- Browser [e.g. chrome, safari]
|
|
||||||
- Version [e.g. 22]
|
|
||||||
|
|
||||||
**Smartphone (please complete the following information):**
|
|
||||||
- Device: [e.g. iPhone6]
|
|
||||||
- OS: [e.g. iOS8.1]
|
|
||||||
- Browser [e.g. stock browser, safari]
|
|
||||||
- Version [e.g. 22]
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
Add any other context about the problem here.
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
---
|
|
||||||
name: Development Issue Template
|
|
||||||
about: This is a developing issue template to be used by the developers
|
|
||||||
title: Dev
|
|
||||||
labels: ''
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Provide a general summary of the issue in the Title above
|
|
||||||
|
|
||||||
**Summary**
|
|
||||||
A brief summary of the task or feature.
|
|
||||||
|
|
||||||
**Description**
|
|
||||||
A more detailed description of the task or feature.
|
|
||||||
|
|
||||||
**Acceptance Criteria**
|
|
||||||
Which criteria has to be reached to be accepted
|
|
||||||
- [ ] Criterion 1
|
|
||||||
- [ ] Criterion 2
|
|
||||||
- [ ] ...
|
|
||||||
|
|
||||||
**Tasks**
|
|
||||||
Which tasks are included to add this feature
|
|
||||||
- [ ] Task 1
|
|
||||||
- [ ] Task 2
|
|
||||||
- [ ] ...
|
|
||||||
|
|
||||||
**Dependencies**
|
|
||||||
Which dependencies are introduced to the project
|
|
||||||
- [ ] Dependency 1
|
|
||||||
- [ ] Dependency 2
|
|
||||||
- [ ] ...
|
|
||||||
|
|
||||||
**Estimates**
|
|
||||||
Estimated effort for completion: [Effort in hours/days/weeks]
|
|
||||||
|
|
||||||
**Additional Information**
|
|
||||||
Any additional information relevant to the development.
|
|
||||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
|
@ -1,20 +0,0 @@
|
||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest an idea for this project
|
|
||||||
title: ''
|
|
||||||
labels: ''
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Is your feature request related to a problem? Please describe.**
|
|
||||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
||||||
|
|
||||||
**Describe the solution you'd like**
|
|
||||||
A clear and concise description of what you want to happen.
|
|
||||||
|
|
||||||
**Describe alternatives you've considered**
|
|
||||||
A clear and concise description of any alternative solutions or features you've considered.
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
Add any other context or screenshots about the feature request here.
|
|
||||||
26
.github/workflows/build_and_test_on_push.yml
vendored
26
.github/workflows/build_and_test_on_push.yml
vendored
|
|
@ -1,26 +0,0 @@
|
||||||
name: Cargo Build & Test
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_and_test:
|
|
||||||
name: Rust project - latest
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
toolchain:
|
|
||||||
- stable
|
|
||||||
- beta
|
|
||||||
- nightly
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- run: sudo apt-get -y install protobuf-compiler
|
|
||||||
- run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }}
|
|
||||||
- run: cargo build --verbose
|
|
||||||
- run: cargo test --verbose
|
|
||||||
|
|
||||||
849
Cargo.lock
generated
849
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
59
Cargo.toml
59
Cargo.toml
|
|
@ -1,3 +1,56 @@
|
||||||
[workspace]
|
[package]
|
||||||
resolver = "2"
|
name = "caesar-transfer-iu"
|
||||||
members = ["caesar-cli", "caesar-core", "caesar-shuttle", "flutter_test_lib"]
|
version = "0.3.1"
|
||||||
|
edition = "2021"
|
||||||
|
build = "src/build.rs"
|
||||||
|
authors = ["Manuel Keidel", "Patryk Hegenberg", "Krzysztof Stankiewicz"]
|
||||||
|
|
||||||
|
[[bin]]
|
||||||
|
name = "caesar"
|
||||||
|
path = "src/main.rs"
|
||||||
|
|
||||||
|
[[bin]]
|
||||||
|
name = "caesar-transfer-iu"
|
||||||
|
path = "src/shuttle.rs"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
futures-util = "0.3"
|
||||||
|
tungstenite = "0.21.0"
|
||||||
|
tokio = { version = "1.28.1", features = ["full"] }
|
||||||
|
tokio-tungstenite = { version = "0.21.0", features = [
|
||||||
|
"rustls-tls-webpki-roots",
|
||||||
|
] }
|
||||||
|
serde_json = { version = "1.0" }
|
||||||
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
|
uuid = { version = "1.3.2", features = ["v4"] }
|
||||||
|
tracing = "0.1.40"
|
||||||
|
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
||||||
|
dotenv = { version = "0.15.0", features = ["clap", "cli"] }
|
||||||
|
clap = { version = "4.5.4", features = ["derive"] }
|
||||||
|
flume = { git = "https://github.com/zesterer/flume", rev = "80d19c49" }
|
||||||
|
prost = "0.12.4"
|
||||||
|
prost-types = "0.12.4"
|
||||||
|
base64 = "0.22.0"
|
||||||
|
url = "2.4.0"
|
||||||
|
p256 = { version = "0.13.2", features = ["ecdh"] }
|
||||||
|
hmac = "0.12.1"
|
||||||
|
sha2 = "0.10.7"
|
||||||
|
rand = { version = "0.8.5", features = ["getrandom"] }
|
||||||
|
aes-gcm = "0.10.3"
|
||||||
|
sanitize-filename = "0.5.0"
|
||||||
|
qr2term = "0.3.1"
|
||||||
|
axum = { version = "0.7.5", features = ["ws"] }
|
||||||
|
tower-http = { version = "0.5.2", features = ["fs", "trace"] }
|
||||||
|
axum-client-ip = "0.6.0"
|
||||||
|
local-ip-address = "0.6.1"
|
||||||
|
axum-extra = { version = "0.9.3", features = ["typed-header"] }
|
||||||
|
headers = "0.4"
|
||||||
|
tower = { version = "0.4", features = ["util"] }
|
||||||
|
shuttle-axum = { version = "0.44.0" }
|
||||||
|
shuttle-runtime = { version = "0.44.0" }
|
||||||
|
dotenvy = "0.15.7"
|
||||||
|
reqwest = { version = "0.12.4", features = ["blocking", "json"] }
|
||||||
|
hex = "0.4.3"
|
||||||
|
|
||||||
|
[build-dependencies]
|
||||||
|
prost-build = "0.12.4"
|
||||||
|
|
|
||||||
21
LICENSE
21
LICENSE
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2024 Manuel Keidel, Patryk Hegenberg, Krzysztof Stankiewicz
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
35
README.md
35
README.md
|
|
@ -1,28 +1,22 @@
|
||||||
# Caesar-Transfer
|
# Caesar
|
||||||

|
This program provides a simple relay server that can be controlled via the command line.
|
||||||
|
|
||||||
This program provides a simple end-to_end encrypted filesharing system.
|
|
||||||
Either the cli version or the gui version can be used for this.
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
Rust toolchain installed
|
Rust toolchain installed
|
||||||
## Installation
|
## Installation
|
||||||
1. Clone the repository:
|
1. Clone the repository:
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/PatrykHegenberg/caesar-transfer.git
|
git clone https://github.com/your-username/caesar.git
|
||||||
```
|
```
|
||||||
2. Change to the project directory:
|
2. Change to the project directory:
|
||||||
```bash
|
```bash
|
||||||
cd caesar-transfer
|
cd caesar
|
||||||
```
|
```
|
||||||
3. Build the program:
|
3. Build the program:
|
||||||
```bash
|
```bash
|
||||||
cargo build --bin caesar --release
|
cargo build --release
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### cli
|
|
||||||
|
|
||||||
The program offers the following commands:
|
The program offers the following commands:
|
||||||
`serve`
|
`serve`
|
||||||
Starts the relay server.
|
Starts the relay server.
|
||||||
|
|
@ -34,7 +28,7 @@ You can optionally specify the listening address and port using flags:
|
||||||
```bash
|
```bash
|
||||||
./target/release/caesar serve -p 8080 -l 192.168.1.100
|
./target/release/caesar serve -p 8080 -l 192.168.1.100
|
||||||
```
|
```
|
||||||
By default, the server listens on 0.0.0.0:8000.
|
By default, the server listens on 0.0.0.0:1323.
|
||||||
|
|
||||||
`send`
|
`send`
|
||||||
Sends data through the relay server.
|
Sends data through the relay server.
|
||||||
|
|
@ -47,18 +41,7 @@ Receives data through the relay server.
|
||||||
```bash
|
```bash
|
||||||
./target/release/caesar receive
|
./target/release/caesar receive
|
||||||
```
|
```
|
||||||
### GUI
|
|
||||||
To use the Gui version of Ceasar-Transfer, you can download the version that suits you under Releases. Currently supported operating systems are Windows, Linux and Android.
|
|
||||||
#### Desktop
|
|
||||||
Copy the folder contained in the zip/tar file to a folder of your choice and add the path to it to your PATH variable.
|
|
||||||
|
|
||||||
Start the application and configure your relay server in the settings.
|
|
||||||
|
|
||||||
#### Android
|
|
||||||
As the Android version is currently in beta status, the APK must also be downloaded from the release page.
|
|
||||||
Open it with your smartphone's file manager and install it.
|
|
||||||
|
|
||||||
Start the application and configure your relay server in the settings.
|
|
||||||
## Help
|
## Help
|
||||||
For more information about the commands and arguments, use:
|
For more information about the commands and arguments, use:
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -74,12 +57,12 @@ Start the relay server:
|
||||||
|
|
||||||
Open a send window in another terminal:
|
Open a send window in another terminal:
|
||||||
```bash
|
```bash
|
||||||
./target/release/caesar -r ws://0.0.0.0:8000 send
|
./target/release/caesar send
|
||||||
```
|
```
|
||||||
|
|
||||||
Open a receive window in another terminal:
|
Open a receive window in another terminal:
|
||||||
```bash
|
```bash
|
||||||
./target/release/caesar -r ws://0.0.0.0:8000 receive
|
./target/release/caesar receive
|
||||||
```
|
```
|
||||||
|
|
||||||
Now you can test the functionality of the relay server using the cli version.
|
Now you can test the functionality of the relay server.
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
name = "caesar-transfer-iu"
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "caesar-cli"
|
|
||||||
version = "0.3.2"
|
|
||||||
edition = "2021"
|
|
||||||
authors = ["Manuel Keidel, Patryk Hegenberg, Krzysztof Stankiewicz"]
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "caesar"
|
|
||||||
path = "src/main.rs"
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
caesar-core = { path = "../caesar-core" }
|
|
||||||
tokio = { version = "1.28.1", features = ["full"] }
|
|
||||||
serde_json = { version = "1.0" }
|
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
|
||||||
tracing = "0.1.40"
|
|
||||||
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
|
||||||
clap = { version = "4.5.4", features = ["derive"] }
|
|
||||||
axum = { version = "0.7.5", features = ["ws"] }
|
|
||||||
axum-client-ip = "0.6.0"
|
|
||||||
confy = "0.6.1"
|
|
||||||
dotenvy = { version = "0.15.7", features = ["clap", "cli"] }
|
|
||||||
lazy_static = "1.4.0"
|
|
||||||
|
|
@ -1,153 +0,0 @@
|
||||||
use caesar_core::relay;
|
|
||||||
use caesar_core::sender;
|
|
||||||
use caesar_core::{receiver, sender::util::generate_random_name};
|
|
||||||
use clap::{Parser, Subcommand};
|
|
||||||
use std::{env, sync::Arc};
|
|
||||||
use tracing::debug;
|
|
||||||
|
|
||||||
use crate::config::GLOBAL_CONFIG;
|
|
||||||
|
|
||||||
/// Struct representing the command line arguments parsed by clap.
|
|
||||||
///
|
|
||||||
/// It uses the clap library to define the command line arguments and their
|
|
||||||
/// attributes. The version of the application is obtained from the cargo.toml
|
|
||||||
/// file.
|
|
||||||
///
|
|
||||||
/// The `command` field is an optional subcommand. It is represented by the
|
|
||||||
/// `Commands` enum which defines the different subcommands that can be used.
|
|
||||||
#[derive(Parser, Debug)]
|
|
||||||
#[command(version = env!("CARGO_PKG_VERSION"), about = "Send and receive files securely")]
|
|
||||||
#[command(long_about = None)]
|
|
||||||
pub struct Args {
|
|
||||||
/// The subcommand to run.
|
|
||||||
///
|
|
||||||
/// It is an optional field. If it is not provided, the program will run without
|
|
||||||
/// any specific subcommand.
|
|
||||||
#[command(subcommand)]
|
|
||||||
pub command: Option<Commands>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Subcommand, Debug)]
|
|
||||||
pub enum Commands {
|
|
||||||
/// Send files to the receiver or relay server
|
|
||||||
Send {
|
|
||||||
/// Address of the relay server. Accepted formats are: 127.0.0.1:8080, [::1]:8080, example.com
|
|
||||||
#[arg(short, long)]
|
|
||||||
relay: Option<String>,
|
|
||||||
/// Path to file(s)
|
|
||||||
#[arg(value_name = "FILES")]
|
|
||||||
files: Vec<String>,
|
|
||||||
},
|
|
||||||
/// Receives Files from the sender with the matching password
|
|
||||||
Receive {
|
|
||||||
/// Address of the relay server. Accepted formats are: 127.0.0.1:8080, [::1]:8080, example.com
|
|
||||||
#[arg(short, long)]
|
|
||||||
relay: Option<String>,
|
|
||||||
|
|
||||||
/// Name of Transfer to download files
|
|
||||||
#[arg(value_name = "Transfer_Name")]
|
|
||||||
name: String,
|
|
||||||
},
|
|
||||||
/// Start a relay server
|
|
||||||
Serve {
|
|
||||||
/// Port to run the relay server on
|
|
||||||
#[arg(short, long)]
|
|
||||||
port: Option<i32>,
|
|
||||||
/// The Listen address to run the relay server on
|
|
||||||
#[arg(short, long)]
|
|
||||||
listen_address: Option<String>,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Default implementation of the `Args` struct.
|
|
||||||
///
|
|
||||||
/// This implementation uses the `new` method to create a new instance of `Args`.
|
|
||||||
impl Default for Args {
|
|
||||||
/// Creates a new instance of `Args` by calling the `new` method.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A new instance of `Args`.
|
|
||||||
fn default() -> Self {
|
|
||||||
Self::new()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Struct representing the parsed command line arguments.
|
|
||||||
///
|
|
||||||
/// This struct implements the `Default` trait to create a new instance of `Args` by calling the
|
|
||||||
/// `new` method.
|
|
||||||
///
|
|
||||||
/// The `run` method is used to execute the corresponding command based on the parsed arguments.
|
|
||||||
impl Args {
|
|
||||||
/// Creates a new instance of `Args` by calling the `parse` method.
|
|
||||||
pub fn new() -> Self {
|
|
||||||
Self::parse()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Executes the corresponding command based on the parsed arguments.
|
|
||||||
///
|
|
||||||
/// This method takes no parameters.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Result` that either returns `Ok(())` indicating successful execution or an `Err`
|
|
||||||
/// indicating an error.
|
|
||||||
pub async fn run(&self) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
|
||||||
// Retrieve the global configuration
|
|
||||||
let cfg = &GLOBAL_CONFIG;
|
|
||||||
debug!("args: {:#?}", self);
|
|
||||||
|
|
||||||
// Match on the `command` field of `Args` to execute the corresponding command
|
|
||||||
match &self.command {
|
|
||||||
// Command to send files to the receiver or relay server
|
|
||||||
Some(Commands::Send { relay, files }) => {
|
|
||||||
// Create a string representation of the relay address
|
|
||||||
let relay_string: String = relay.as_deref().unwrap_or(&cfg.app_origin).to_string();
|
|
||||||
// Create Arc wrappers for the relay address and file paths
|
|
||||||
let relay_arc = Arc::new(relay_string);
|
|
||||||
let files_arc = Arc::new(files.to_vec());
|
|
||||||
// Generate a random name
|
|
||||||
let rand_name = generate_random_name();
|
|
||||||
// Start the sender with the generated name, relay address, and file paths
|
|
||||||
sender::start_sender(rand_name, relay_arc, files_arc).await;
|
|
||||||
}
|
|
||||||
// Command to receive files from the sender with the matching password
|
|
||||||
Some(Commands::Receive {
|
|
||||||
relay,
|
|
||||||
name,
|
|
||||||
}) => {
|
|
||||||
// Print the received transfer name
|
|
||||||
println!("Receive for {name:?}");
|
|
||||||
// Start the receiver with the current directory, relay address, and transfer name
|
|
||||||
let _ = receiver::start_receiver(
|
|
||||||
".".to_string(),
|
|
||||||
relay.as_deref().unwrap_or(&cfg.app_origin),
|
|
||||||
name,
|
|
||||||
)
|
|
||||||
.await;
|
|
||||||
}
|
|
||||||
// Command to start a relay server
|
|
||||||
Some(Commands::Serve {
|
|
||||||
port,
|
|
||||||
listen_address,
|
|
||||||
}) => {
|
|
||||||
// Create a string representation of the listen address
|
|
||||||
let address: String = listen_address
|
|
||||||
.as_deref()
|
|
||||||
.unwrap_or(&cfg.app_host)
|
|
||||||
.to_string();
|
|
||||||
// Create an integer representation of the port
|
|
||||||
let port_value = port.unwrap_or(cfg.app_port.parse::<i32>().unwrap_or(0));
|
|
||||||
let port: i32 = port_value;
|
|
||||||
// Start the relay server with the port and listen address
|
|
||||||
relay::server::start_ws(&port, &address).await;
|
|
||||||
}
|
|
||||||
// No command provided
|
|
||||||
None => {}
|
|
||||||
}
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
use lazy_static::lazy_static;
|
|
||||||
use serde::{Deserialize, Serialize};
|
|
||||||
|
|
||||||
/// Represents the configuration settings for the Caesar application.
|
|
||||||
///
|
|
||||||
/// This struct is used to store the configuration settings for the application,
|
|
||||||
/// such as the environment, host, port, origin, and logging level.
|
|
||||||
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
|
|
||||||
pub struct CaesarConfig {
|
|
||||||
/// The environment in which the application is running.
|
|
||||||
///
|
|
||||||
/// Possible values are "production", "staging", or "development".
|
|
||||||
pub app_environment: String,
|
|
||||||
|
|
||||||
/// The host on which the application is running.
|
|
||||||
///
|
|
||||||
/// This is typically an IP address or a hostname.
|
|
||||||
pub app_host: String,
|
|
||||||
|
|
||||||
/// The port on which the application is listening.
|
|
||||||
///
|
|
||||||
/// This is typically a string representation of a port number.
|
|
||||||
pub app_port: String,
|
|
||||||
|
|
||||||
/// The origin of the application.
|
|
||||||
///
|
|
||||||
/// This is typically a URL that specifies the protocol, hostname, and port.
|
|
||||||
pub app_origin: String,
|
|
||||||
|
|
||||||
/// The relay endpoint of the application.
|
|
||||||
///
|
|
||||||
/// This is typically a combination of a hostname and port.
|
|
||||||
pub app_relay: String,
|
|
||||||
|
|
||||||
/// The logging level for the application.
|
|
||||||
///
|
|
||||||
/// This is typically a string representation of a logging level, such as "info",
|
|
||||||
/// "debug", or "error".
|
|
||||||
pub rust_log: String,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// The default configuration values for the Caesar application.
|
|
||||||
///
|
|
||||||
/// These values are used when loading the configuration file fails.
|
|
||||||
/// The default configuration is suitable for running the application in a production environment.
|
|
||||||
impl Default for CaesarConfig {
|
|
||||||
/// Returns a new `CaesarConfig` instance with default values.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A new `CaesarConfig` instance with the following default values:
|
|
||||||
///
|
|
||||||
/// - `app_environment`: "production"
|
|
||||||
/// - `app_host`: "0.0.0.0"
|
|
||||||
/// - `app_port`: "8000"
|
|
||||||
/// - `app_origin`: "wss://caesar-transfer-iu.shuttleapp.rs"
|
|
||||||
/// - `app_relay`: "0.0.0.0:8000"
|
|
||||||
/// - `rust_log`: "info"
|
|
||||||
fn default() -> Self {
|
|
||||||
CaesarConfig {
|
|
||||||
app_environment: "production".to_string(), // The environment in which the application is running.
|
|
||||||
app_host: "0.0.0.0".to_string(), // The host on which the application is running.
|
|
||||||
app_port: "8000".to_string(), // The port on which the application is listening.
|
|
||||||
app_origin: "wss://caesar-transfer-iu.shuttleapp.rs".to_string(), // The origin of the application.
|
|
||||||
app_relay: "0.0.0.0:8000".to_string(), // The relay endpoint of the application.
|
|
||||||
rust_log: "info".to_string(), // The logging level for the application.
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
lazy_static! {
|
|
||||||
pub static ref GLOBAL_CONFIG: CaesarConfig = {
|
|
||||||
let cfg: CaesarConfig =
|
|
||||||
confy::load("caesar", "caesar").expect("could not find config file");
|
|
||||||
cfg
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
use crate::cli::args::Args;
|
|
||||||
use dotenvy::dotenv;
|
|
||||||
use tracing::error;
|
|
||||||
use tracing_subscriber::filter::EnvFilter;
|
|
||||||
|
|
||||||
mod cli;
|
|
||||||
mod config;
|
|
||||||
|
|
||||||
/// Entry point of the application.
|
|
||||||
///
|
|
||||||
/// This function is called when the application is started. It initializes the environment,
|
|
||||||
/// parses the command line arguments, and runs the application.
|
|
||||||
#[tokio::main]
|
|
||||||
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
|
||||||
// Load environment variables from the `.env` file.
|
|
||||||
dotenv().ok();
|
|
||||||
|
|
||||||
// Initialize the logging subscriber.
|
|
||||||
// It configures the logging level based on the `RUST_LOG` environment variable.
|
|
||||||
tracing_subscriber::fmt()
|
|
||||||
.with_env_filter(EnvFilter::from_default_env())
|
|
||||||
.init();
|
|
||||||
|
|
||||||
// Parse the command line arguments.
|
|
||||||
let args = Args::new();
|
|
||||||
|
|
||||||
// Run the application.
|
|
||||||
// If an error occurs, log the error message.
|
|
||||||
if let Err(e) = args.run().await {
|
|
||||||
error!("{e}");
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "caesar-core"
|
|
||||||
version = "0.3.2"
|
|
||||||
edition = "2021"
|
|
||||||
build = "src/build.rs"
|
|
||||||
authors = ["Manuel Keidel", "Patryk Hegenberg", "Krzysztof Stankiewicz"]
|
|
||||||
|
|
||||||
[lib]
|
|
||||||
crate-type = ["lib", "cdylib", "staticlib"]
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
futures-util = "0.3"
|
|
||||||
tungstenite = "0.21.0"
|
|
||||||
tokio = { version = "1.28.1", features = ["full"] }
|
|
||||||
tokio-tungstenite = { version = "0.21.0", features = [
|
|
||||||
"rustls-tls-webpki-roots",
|
|
||||||
] }
|
|
||||||
serde_json = { version = "1.0" }
|
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
|
||||||
uuid = { version = "1.3.2", features = ["v4"] }
|
|
||||||
tracing = "0.1.40"
|
|
||||||
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
|
||||||
dotenv = { version = "0.15.0", features = ["clap", "cli"] }
|
|
||||||
clap = { version = "4.5.4", features = ["derive"] }
|
|
||||||
flume = { git = "https://github.com/zesterer/flume", rev = "80d19c49" }
|
|
||||||
prost = "0.12.4"
|
|
||||||
prost-types = "0.12.4"
|
|
||||||
base64 = "0.22.0"
|
|
||||||
url = "2.4.0"
|
|
||||||
p256 = { version = "0.13.2", features = ["ecdh"] }
|
|
||||||
hmac = "0.12.1"
|
|
||||||
sha2 = "0.10.7"
|
|
||||||
rand = { version = "0.8.5", features = ["getrandom"] }
|
|
||||||
aes-gcm = "0.10.3"
|
|
||||||
sanitize-filename = "0.5.0"
|
|
||||||
qr2term = "0.3.1"
|
|
||||||
axum = { version = "0.7.5", features = ["ws"] }
|
|
||||||
tower-http = { version = "0.5.2", features = ["fs", "trace"] }
|
|
||||||
axum-client-ip = "0.6.0"
|
|
||||||
local-ip-address = "0.6.1"
|
|
||||||
axum-extra = { version = "0.9.3", features = ["typed-header"] }
|
|
||||||
headers = "0.4"
|
|
||||||
tower = { version = "0.4", features = ["util"] }
|
|
||||||
reqwest = { version = "0.12.4", default-features = false, features = [
|
|
||||||
"blocking",
|
|
||||||
"json",
|
|
||||||
"rustls-tls",
|
|
||||||
] }
|
|
||||||
hex = "0.4.3"
|
|
||||||
anyhow = "1.0.83"
|
|
||||||
|
|
||||||
[build-dependencies]
|
|
||||||
prost-build = "0.12.4"
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
pub mod receiver;
|
|
||||||
pub mod relay;
|
|
||||||
pub mod sender;
|
|
||||||
pub mod shared;
|
|
||||||
|
|
@ -1,640 +0,0 @@
|
||||||
use std::{fs, io::stdout, path::Path};
|
|
||||||
|
|
||||||
use crate::shared::{
|
|
||||||
packets::{
|
|
||||||
packet::Value, ChunkPacket, HandshakePacket, HandshakeResponsePacket, ListPacket, Packet,
|
|
||||||
ProgressPacket,
|
|
||||||
},
|
|
||||||
JsonPacket, JsonPacketResponse, JsonPacketSender, PacketSender, Sender, Socket, Status,
|
|
||||||
};
|
|
||||||
|
|
||||||
use aes_gcm::{aead::Aead, Aes128Gcm, Key};
|
|
||||||
use base64::{engine::general_purpose, Engine as _};
|
|
||||||
use futures_util::{future, pin_mut, stream::TryStreamExt, StreamExt};
|
|
||||||
use hmac::{Hmac, Mac};
|
|
||||||
use p256::{ecdh::EphemeralSecret, pkcs8::der::Writer, PublicKey};
|
|
||||||
use prost::Message;
|
|
||||||
use rand::rngs::OsRng;
|
|
||||||
use sha2::Sha256;
|
|
||||||
use tokio_tungstenite::tungstenite::{protocol::Message as WebSocketMessage, Error};
|
|
||||||
use tracing::error;
|
|
||||||
|
|
||||||
const DESTINATION: u8 = 0;
|
|
||||||
const NONCE_SIZE: usize = 12;
|
|
||||||
|
|
||||||
#[cfg(target_os = "android")]
|
|
||||||
const FILE_PATH_PREFIX: &str = "/storage/emulated/0/Download";
|
|
||||||
|
|
||||||
|
|
||||||
/// Represents a file to be transferred.
|
|
||||||
///
|
|
||||||
/// # Fields
|
|
||||||
///
|
|
||||||
/// - `name`: The name of the file.
|
|
||||||
/// - `size`: The total size of the file in bytes.
|
|
||||||
/// - `progress`: The number of bytes that have been transferred so far.
|
|
||||||
/// - `handle`: The file handle for reading and writing the file.
|
|
||||||
#[derive(Debug)]
|
|
||||||
struct File {
|
|
||||||
/// The name of the file.
|
|
||||||
name: String,
|
|
||||||
|
|
||||||
/// The total size of the file in bytes.
|
|
||||||
size: u64,
|
|
||||||
|
|
||||||
/// The number of bytes that have been transferred so far.
|
|
||||||
progress: u64,
|
|
||||||
|
|
||||||
/// The file handle for reading and writing the file.
|
|
||||||
handle: fs::File,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Represents the state of the receiver.
|
|
||||||
///
|
|
||||||
/// # Fields
|
|
||||||
///
|
|
||||||
/// - `hmac`: The HMAC key used for authentication.
|
|
||||||
/// - `sender`: The sender used for sending packets.
|
|
||||||
/// - `key`: The ephemeral secret key used for key agreement.
|
|
||||||
/// - `shared_key`: The shared key used for encryption.
|
|
||||||
/// - `files`: The list of files being transferred.
|
|
||||||
/// - `sequence`: The sequence number of the last received packet.
|
|
||||||
/// - `index`: The index of the current file being transferred.
|
|
||||||
/// - `progress`: The number of bytes transferred so far.
|
|
||||||
/// - `length`: The total length of the file being transferred.
|
|
||||||
struct Context {
|
|
||||||
/// The HMAC key used for authentication.
|
|
||||||
hmac: Vec<u8>,
|
|
||||||
|
|
||||||
/// The sender used for sending packets.
|
|
||||||
sender: Sender,
|
|
||||||
|
|
||||||
/// The ephemeral secret key used for key agreement.
|
|
||||||
key: EphemeralSecret,
|
|
||||||
|
|
||||||
/// The shared key used for encryption.
|
|
||||||
shared_key: Option<Aes128Gcm>,
|
|
||||||
|
|
||||||
/// The list of files being transferred.
|
|
||||||
files: Vec<File>,
|
|
||||||
|
|
||||||
/// The sequence number of the last received packet.
|
|
||||||
sequence: u32,
|
|
||||||
|
|
||||||
/// The index of the current file being transferred.
|
|
||||||
index: usize,
|
|
||||||
|
|
||||||
/// The number of bytes transferred so far.
|
|
||||||
progress: u64,
|
|
||||||
|
|
||||||
/// The total length of the file being transferred.
|
|
||||||
length: u64,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Handle the join room packet.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `size` - The size of the room.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` representing the result of the operation.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// Returns an error if the join room packet is invalid.
|
|
||||||
fn on_join_room(size: Option<usize>) -> Status {
|
|
||||||
// Check if the size of the room is provided
|
|
||||||
if size.is_none() {
|
|
||||||
// Return an error if the join room packet is invalid
|
|
||||||
return Status::Err("Invalid join room packet.".into());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Print a message indicating that the client has successfully connected to the room
|
|
||||||
println!("Connected to room.");
|
|
||||||
|
|
||||||
// Return a continue status to indicate that the operation was successful
|
|
||||||
Status::Continue()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Handle the error packet.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `message` - The error message.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` representing the result of the operation.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// Returns an error with the provided error message.
|
|
||||||
fn on_error(message: String) -> Status {
|
|
||||||
// Return an error with the provided error message
|
|
||||||
Status::Err(message)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Handle the leave room packet.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `context` - The receiver context.
|
|
||||||
/// * `_` - The index of the sender. Currently unused.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` representing the result of the operation.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// Returns an error if there are still files being transferred.
|
|
||||||
fn on_leave_room(context: &mut Context, _: usize) -> Status {
|
|
||||||
// Check if there are any files being transferred with less than 100% progress
|
|
||||||
if context.files.iter().any(|file| file.progress < 100) {
|
|
||||||
// Print a message indicating that the transfer was interrupted because the host left the room
|
|
||||||
println!();
|
|
||||||
println!("Transfer was interrupted because the host left the room.");
|
|
||||||
|
|
||||||
// Return an error with the provided message
|
|
||||||
Status::Err("Transfer was interrupted because the host left the room.".into())
|
|
||||||
} else {
|
|
||||||
// Return an exit status to indicate that the operation was successful
|
|
||||||
Status::Exit()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Handle the list packet.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `filepath` - The path to the directory where the files will be saved.
|
|
||||||
/// * `context` - The receiver context.
|
|
||||||
/// * `list` - The list packet containing the files to be transferred.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` representing the result of the operation.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// Returns an error if the list packet is invalid or if a file with the same name already exists.
|
|
||||||
fn on_list(filepath: String, context: &mut Context, list: ListPacket) -> Status {
|
|
||||||
// Check if the shared key is established
|
|
||||||
if context.shared_key.is_none() {
|
|
||||||
return Status::Err("Invalid list packet: no shared key established".into());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Iterate over the entries in the list packet
|
|
||||||
for entry in list.entries {
|
|
||||||
// Sanitize the filename to prevent directory traversal attacks
|
|
||||||
let path = sanitize_filename::sanitize(entry.name.clone());
|
|
||||||
// Construct the file path
|
|
||||||
let file_path = format!("{}/{}", filepath, path);
|
|
||||||
|
|
||||||
// Check if the file already exists
|
|
||||||
if Path::new(&file_path).exists() {
|
|
||||||
return Status::Err(format!("The file '{}' already exists.", path));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a new file
|
|
||||||
let handle = match fs::File::create(&file_path) {
|
|
||||||
Ok(handle) => handle,
|
|
||||||
Err(error) => {
|
|
||||||
return Status::Err(format!(
|
|
||||||
"Error: Failed to create file '{}': {}",
|
|
||||||
file_path, error
|
|
||||||
));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create a new file object and add it to the context
|
|
||||||
let file = File {
|
|
||||||
name: entry.name,
|
|
||||||
size: entry.size,
|
|
||||||
handle,
|
|
||||||
progress: 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
context.files.push(file);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reset the context for the next file transfer
|
|
||||||
context.index = 0;
|
|
||||||
context.progress = 0;
|
|
||||||
context.sequence = 0;
|
|
||||||
context.length = 0;
|
|
||||||
|
|
||||||
Status::Continue()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handle a chunk packet.
|
|
||||||
///
|
|
||||||
/// This function is responsible for processing chunk packets received from the sender.
|
|
||||||
/// It checks if the shared key has been established, verifies the sequence number,
|
|
||||||
/// writes the chunk to the corresponding file, updates the file's progress, sends progress
|
|
||||||
/// updates if necessary, and handles the end of a file transfer.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `context` - The receiver context.
|
|
||||||
/// * `chunk` - The chunk packet received from the sender.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A status indicating if the operation was successful.
|
|
||||||
fn on_chunk(context: &mut Context, chunk: ChunkPacket) -> Status {
|
|
||||||
// Check if the shared key is established
|
|
||||||
if context.shared_key.is_none() {
|
|
||||||
return Status::Err("Invalid chunk packet: no shared key established".into());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Verify the sequence number
|
|
||||||
if chunk.sequence != context.sequence {
|
|
||||||
return Status::Err(format!(
|
|
||||||
"Expected sequence {}, but got {}.",
|
|
||||||
context.sequence, chunk.sequence
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the file corresponding to the current index
|
|
||||||
let Some(file) = context.files.get_mut(context.index) else {
|
|
||||||
return Status::Err("Invalid file index.".into());
|
|
||||||
};
|
|
||||||
|
|
||||||
// Update the file's length
|
|
||||||
context.length += chunk.chunk.len() as u64;
|
|
||||||
|
|
||||||
// Increment the sequence number
|
|
||||||
context.sequence += 1;
|
|
||||||
|
|
||||||
// Write the chunk to the file
|
|
||||||
file.handle.write(&chunk.chunk).unwrap();
|
|
||||||
|
|
||||||
// Update the file's progress
|
|
||||||
file.progress = (context.length * 100) / file.size;
|
|
||||||
|
|
||||||
// Send progress updates if necessary
|
|
||||||
if file.progress == 100 || file.progress - context.progress >= 1 || chunk.sequence == 0 {
|
|
||||||
context.progress = file.progress;
|
|
||||||
|
|
||||||
let progress = ProgressPacket {
|
|
||||||
index: context.index.try_into().unwrap(),
|
|
||||||
progress: context.progress.try_into().unwrap(),
|
|
||||||
};
|
|
||||||
|
|
||||||
context.sender.send_encrypted_packet(
|
|
||||||
&context.shared_key,
|
|
||||||
DESTINATION,
|
|
||||||
Value::Progress(progress),
|
|
||||||
);
|
|
||||||
|
|
||||||
print!("\rTransferring '{}': {}%", file.name, file.progress);
|
|
||||||
std::io::Write::flush(&mut stdout()).unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handle the end of a file transfer
|
|
||||||
if file.size == context.length {
|
|
||||||
context.index += 1;
|
|
||||||
context.length = 0;
|
|
||||||
context.progress = 0;
|
|
||||||
context.sequence = 0;
|
|
||||||
|
|
||||||
println!();
|
|
||||||
}
|
|
||||||
|
|
||||||
Status::Continue()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handle the handshake packet.
|
|
||||||
///
|
|
||||||
/// This function is responsible for handling the handshake packet received from the sender.
|
|
||||||
/// It performs the necessary verification and establishes the shared key between the sender and receiver.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `context` - The receiver context.
|
|
||||||
/// * `handshake` - The handshake packet received from the sender.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` representing the result of the operation.
|
|
||||||
fn on_handshake(context: &mut Context, handshake: HandshakePacket) -> Status {
|
|
||||||
// Check if the shared key is already established
|
|
||||||
if context.shared_key.is_some() {
|
|
||||||
return Status::Err("Already performed handshake.".into());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a HMAC instance using the shared key
|
|
||||||
let mut mac = Hmac::<Sha256>::new_from_slice(&context.hmac).unwrap();
|
|
||||||
|
|
||||||
// Update the HMAC with the sender's public key
|
|
||||||
mac.update(&handshake.public_key);
|
|
||||||
|
|
||||||
// Verify the signature using the HMAC
|
|
||||||
let verification = mac.verify_slice(&handshake.signature);
|
|
||||||
if verification.is_err() {
|
|
||||||
return Status::Err("Invalid signature from the sender.".into());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate the receiver's public key
|
|
||||||
let public_key = context.key.public_key().to_sec1_bytes().into_vec();
|
|
||||||
|
|
||||||
// Create a new HMAC instance using the shared key
|
|
||||||
let mut mac = Hmac::<Sha256>::new_from_slice(&context.hmac).unwrap();
|
|
||||||
|
|
||||||
// Update the HMAC with the receiver's public key
|
|
||||||
mac.update(&public_key);
|
|
||||||
|
|
||||||
// Generate the signature using the HMAC
|
|
||||||
let signature = mac.finalize().into_bytes().to_vec();
|
|
||||||
|
|
||||||
// Convert the sender's public key into a `PublicKey` object
|
|
||||||
let shared_public_key = PublicKey::from_sec1_bytes(&handshake.public_key).unwrap();
|
|
||||||
|
|
||||||
// Perform Diffie-Hellman key exchange
|
|
||||||
let shared_secret = context.key.diffie_hellman(&shared_public_key);
|
|
||||||
let shared_secret = shared_secret.raw_secret_bytes();
|
|
||||||
let shared_secret = &shared_secret[0..16];
|
|
||||||
|
|
||||||
// Create a new 128-bit AES-GCM key from the shared secret
|
|
||||||
let shared_key: &Key<Aes128Gcm> = shared_secret.into();
|
|
||||||
let shared_key = <Aes128Gcm as aes_gcm::KeyInit>::new(shared_key);
|
|
||||||
|
|
||||||
// Create the handshake response packet
|
|
||||||
let handshake_response = HandshakeResponsePacket {
|
|
||||||
public_key,
|
|
||||||
signature,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Send the handshake response packet to the sender
|
|
||||||
context
|
|
||||||
.sender
|
|
||||||
.send_packet(DESTINATION, Value::HandshakeResponse(handshake_response));
|
|
||||||
|
|
||||||
// Establish the shared key
|
|
||||||
context.shared_key = Some(shared_key);
|
|
||||||
|
|
||||||
Status::Continue()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handle a message received from the WebSocket connection.
|
|
||||||
///
|
|
||||||
/// This function takes a `filepath` string, a mutable reference to a `Context` struct,
|
|
||||||
/// and a `WebSocketMessage` enum. It returns a `Status` enum.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `filepath` - A string representing the file path.
|
|
||||||
/// * `context` - A mutable reference to a `Context` struct.
|
|
||||||
/// * `message` - A `WebSocketMessage` enum.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` enum.
|
|
||||||
fn on_message(filepath: String, context: &mut Context, message: WebSocketMessage) -> Status {
|
|
||||||
// Handle text messages
|
|
||||||
match message.clone() {
|
|
||||||
WebSocketMessage::Text(text) => {
|
|
||||||
// Parse the JSON packet
|
|
||||||
let packet = match serde_json::from_str(&text) {
|
|
||||||
Ok(packet) => packet,
|
|
||||||
Err(_) => {
|
|
||||||
return Status::Continue();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
// Handle different types of JSON packets
|
|
||||||
return match packet {
|
|
||||||
JsonPacketResponse::Join { size } => on_join_room(size),
|
|
||||||
JsonPacketResponse::Leave { index } => on_leave_room(context, index),
|
|
||||||
JsonPacketResponse::Error { message } => on_error(message),
|
|
||||||
_ => Status::Err(format!("Unexpected json packet: {:?}", packet)),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// Handle binary messages
|
|
||||||
WebSocketMessage::Binary(data) => {
|
|
||||||
// Extract the data from the binary message
|
|
||||||
let data = &data[1..];
|
|
||||||
|
|
||||||
let data = if let Some(shared_key) = &context.shared_key {
|
|
||||||
let nonce = &data[..NONCE_SIZE];
|
|
||||||
let ciphertext = &data[NONCE_SIZE..];
|
|
||||||
|
|
||||||
shared_key.decrypt(nonce.into(), ciphertext).unwrap()
|
|
||||||
} else {
|
|
||||||
data.to_vec()
|
|
||||||
};
|
|
||||||
|
|
||||||
// Decode the packet
|
|
||||||
let packet = Packet::decode(data.as_ref()).unwrap();
|
|
||||||
let value = packet.value.unwrap();
|
|
||||||
// Handle different types of packets
|
|
||||||
return match value {
|
|
||||||
Value::List(list) => on_list(filepath, context, list),
|
|
||||||
Value::Chunk(chunk) => on_chunk(context, chunk),
|
|
||||||
Value::Handshake(handshake) => on_handshake(context, handshake),
|
|
||||||
_ => Status::Err(format!("Unexpected packet: {:?}", value)),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return an error status for invalid message types
|
|
||||||
Status::Err("Invalid message type".into())
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Starts the receiver's client.
|
|
||||||
///
|
|
||||||
/// This function takes in a file path, a socket, and a fragment string. It
|
|
||||||
/// then extracts the room ID and HMAC from the fragment string. The function
|
|
||||||
/// also generates an ephemeral secret key.
|
|
||||||
///
|
|
||||||
/// The function initializes a `Context` struct with the extracted information
|
|
||||||
/// and sets up the necessary communication channels. It then sends a join
|
|
||||||
/// request to the server and starts handling incoming messages.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `filepath` - The path to the file to be received.
|
|
||||||
/// * `socket` - The WebSocket connection to the server.
|
|
||||||
/// * `fragment` - The invite code containing the room ID and HMAC.
|
|
||||||
pub async fn start(filepath: String, socket: Socket, fragment: &str) {
|
|
||||||
let Some(index) = fragment.rfind('-') else {
|
|
||||||
println!("Error: The invite code '{}' is not valid.", fragment);
|
|
||||||
return;
|
|
||||||
};
|
|
||||||
|
|
||||||
let id = &fragment[..index];
|
|
||||||
let hmac = &fragment[index + 1..];
|
|
||||||
let Ok(hmac) = general_purpose::STANDARD.decode(hmac) else {
|
|
||||||
error!("Error: Invalid base64 inside the invite code.");
|
|
||||||
return;
|
|
||||||
};
|
|
||||||
|
|
||||||
let key = EphemeralSecret::random(&mut OsRng);
|
|
||||||
|
|
||||||
let (sender, receiver) = flume::bounded(1000);
|
|
||||||
|
|
||||||
let (outgoing, incoming) = socket.split();
|
|
||||||
|
|
||||||
let mut context = Context {
|
|
||||||
hmac,
|
|
||||||
sender,
|
|
||||||
key,
|
|
||||||
|
|
||||||
shared_key: None,
|
|
||||||
files: vec![],
|
|
||||||
|
|
||||||
index: 0,
|
|
||||||
sequence: 0,
|
|
||||||
progress: 0,
|
|
||||||
length: 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
println!("Attempting to join room '{}'...", id);
|
|
||||||
|
|
||||||
context
|
|
||||||
.sender
|
|
||||||
.send_json_packet(JsonPacket::Join { id: id.to_string() });
|
|
||||||
|
|
||||||
let outgoing_handler = receiver.stream().map(Ok).forward(outgoing);
|
|
||||||
let incoming_handler = incoming.try_for_each(|message| {
|
|
||||||
match on_message(filepath.clone(), &mut context, message) {
|
|
||||||
Status::Exit() => {
|
|
||||||
context.sender.send_json_packet(JsonPacket::Leave);
|
|
||||||
println!("Transfer has completed.");
|
|
||||||
|
|
||||||
return future::err(Error::ConnectionClosed);
|
|
||||||
}
|
|
||||||
Status::Err(error) => {
|
|
||||||
println!("Error: {}", error);
|
|
||||||
|
|
||||||
return future::err(Error::ConnectionClosed);
|
|
||||||
}
|
|
||||||
_ => {}
|
|
||||||
};
|
|
||||||
|
|
||||||
future::ok(())
|
|
||||||
});
|
|
||||||
|
|
||||||
pin_mut!(incoming_handler, outgoing_handler);
|
|
||||||
|
|
||||||
future::select(incoming_handler, outgoing_handler).await;
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use super::*;
|
|
||||||
use tokio_tungstenite::tungstenite::Message as WebSocketMessage;
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_on_join_room_valid_size() {
|
|
||||||
assert_eq!(on_join_room(Some(10)), Status::Continue());
|
|
||||||
}
|
|
||||||
#[test]
|
|
||||||
fn test_on_join_room_invalid_size() {
|
|
||||||
assert_eq!(
|
|
||||||
on_join_room(None),
|
|
||||||
Status::Err("Invalid join room packet.".into())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
#[test]
|
|
||||||
fn test_on_error_with_message() {
|
|
||||||
assert_eq!(
|
|
||||||
on_error("Error message".to_string()),
|
|
||||||
Status::Err("Error message".to_string())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
#[test]
|
|
||||||
fn test_on_leave_room() {
|
|
||||||
let (sender, _) = flume::bounded(1000);
|
|
||||||
let mut context = Context {
|
|
||||||
hmac: vec![],
|
|
||||||
sender,
|
|
||||||
key: EphemeralSecret::random(&mut OsRng),
|
|
||||||
shared_key: None,
|
|
||||||
files: vec![
|
|
||||||
File {
|
|
||||||
name: "file1.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
progress: 100,
|
|
||||||
handle: fs::File::create("file1.txt").unwrap(),
|
|
||||||
},
|
|
||||||
File {
|
|
||||||
name: "file2.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
progress: 50,
|
|
||||||
handle: fs::File::create("file2.txt").unwrap(),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
sequence: 0,
|
|
||||||
index: 0,
|
|
||||||
progress: 0,
|
|
||||||
length: 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
assert_eq!(
|
|
||||||
on_leave_room(&mut context, 0),
|
|
||||||
Status::Err("Transfer was interrupted because the host left the room.".into())
|
|
||||||
);
|
|
||||||
context.files[1].progress = 100;
|
|
||||||
assert_eq!(on_leave_room(&mut context, 0), Status::Exit());
|
|
||||||
}
|
|
||||||
#[test]
|
|
||||||
fn test_on_message_text_join() {
|
|
||||||
let (sender, _) = flume::bounded(1000);
|
|
||||||
let mut context = Context {
|
|
||||||
hmac: vec![],
|
|
||||||
sender,
|
|
||||||
key: EphemeralSecret::random(&mut OsRng),
|
|
||||||
shared_key: None,
|
|
||||||
files: vec![],
|
|
||||||
sequence: 0,
|
|
||||||
index: 0,
|
|
||||||
progress: 0,
|
|
||||||
length: 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
let text_message = WebSocketMessage::Text(r#"{"type":"join","size":10}"#.to_string());
|
|
||||||
assert_eq!(
|
|
||||||
on_message("".to_string(), &mut context, text_message),
|
|
||||||
Status::Continue()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_on_chunk() {
|
|
||||||
let (sender, _) = flume::bounded(1000);
|
|
||||||
let mut context = Context {
|
|
||||||
hmac: vec![],
|
|
||||||
sender,
|
|
||||||
key: EphemeralSecret::random(&mut OsRng),
|
|
||||||
shared_key: None,
|
|
||||||
files: vec![File {
|
|
||||||
name: "file1.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
progress: 0,
|
|
||||||
handle: fs::File::create("file1.txt").unwrap(),
|
|
||||||
}],
|
|
||||||
sequence: 0,
|
|
||||||
index: 0,
|
|
||||||
progress: 0,
|
|
||||||
length: 0,
|
|
||||||
};
|
|
||||||
let chunk_packet = ChunkPacket {
|
|
||||||
sequence: 0,
|
|
||||||
chunk: b"Hello, world!".to_vec(),
|
|
||||||
};
|
|
||||||
assert_eq!(
|
|
||||||
on_chunk(&mut context, chunk_packet),
|
|
||||||
Status::Err("Invalid chunk packet: no shared key established".into())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
use anyhow::{anyhow, Result};
|
|
||||||
use hex;
|
|
||||||
use reqwest::{self, Client};
|
|
||||||
use sha2::{Digest, Sha256};
|
|
||||||
|
|
||||||
use crate::relay::transfer::TransferResponse;
|
|
||||||
|
|
||||||
/// Fetches download information from the relay server for the given file name.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `relay` - The URL of the relay server.
|
|
||||||
/// * `name` - The name of the file.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A future that resolves to a `Result` containing the download information
|
|
||||||
/// if the request is successful, or an error if the request fails.
|
|
||||||
pub async fn download_info(relay: &str, name: &str) -> Result<TransferResponse> {
|
|
||||||
// Convert the relay server URL and file name to strings
|
|
||||||
let url = String::from(relay);
|
|
||||||
let hashed_name = Sha256::digest(name.as_bytes());
|
|
||||||
let hashed_string = hex::encode(hashed_name);
|
|
||||||
|
|
||||||
// Send a GET request to the relay server with the file name hash as a query parameter
|
|
||||||
let resp = reqwest::get(format!("{}/download/{}", url, hashed_string))
|
|
||||||
.await
|
|
||||||
// If the request fails, return an error with the reason
|
|
||||||
.map_err(|e| anyhow!("Failed to send GET request: {}", e))?;
|
|
||||||
|
|
||||||
// Parse the response body as JSON into a `TransferResponse` struct
|
|
||||||
resp.json::<TransferResponse>()
|
|
||||||
.await
|
|
||||||
// If the JSON parsing fails, return an error with the reason
|
|
||||||
.map_err(|e| anyhow!("Failed to parse JSON response: {}", e))
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Notifies the relay server that the file download was successful for the given file name.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `relay` - The URL of the relay server.
|
|
||||||
/// * `name` - The name of the file.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A future that resolves to a `Result` containing `Ok(())` if the request is successful,
|
|
||||||
/// or an error if the request fails.
|
|
||||||
pub async fn download_success(relay: &str, name: &str) -> Result<()> {
|
|
||||||
// Convert the relay server URL and file name to strings
|
|
||||||
let url = String::from(relay);
|
|
||||||
let hashed_name = Sha256::digest(name.as_bytes());
|
|
||||||
let hashed_string = hex::encode(hashed_name);
|
|
||||||
|
|
||||||
// Create a new HTTP client
|
|
||||||
let client = Client::new();
|
|
||||||
|
|
||||||
// Send a POST request to the relay server with the file name hash as a query parameter
|
|
||||||
let _ = client
|
|
||||||
.post(format!("{}/download_success/{}", url, hashed_string))
|
|
||||||
.send()
|
|
||||||
.await
|
|
||||||
// If the request fails, return an error with the reason
|
|
||||||
.map_err(|e| anyhow!("Failed to send POST request: {}", e))?;
|
|
||||||
|
|
||||||
// Return Ok(()) if the request was successful
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
@ -1,115 +0,0 @@
|
||||||
pub mod client;
|
|
||||||
pub mod http_client;
|
|
||||||
|
|
||||||
use crate::{receiver::client as receiver, sender::util::replace_protocol};
|
|
||||||
use anyhow::{anyhow, Result};
|
|
||||||
|
|
||||||
use tokio_tungstenite::{
|
|
||||||
connect_async,
|
|
||||||
tungstenite::{client::IntoClientRequest, http::HeaderValue},
|
|
||||||
};
|
|
||||||
use tracing::{debug, error};
|
|
||||||
|
|
||||||
/// Start the receiver process.
|
|
||||||
///
|
|
||||||
/// This function initiates the receiver process by performing the following steps:
|
|
||||||
/// 1. Replaces the protocol of the given `relay` URL.
|
|
||||||
/// 2. Downloads the room information from the server.
|
|
||||||
/// 3. Connects to the local or relay server based on the platform.
|
|
||||||
/// 4. Downloads the file from the server.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `filepath` - The path to the file to be received.
|
|
||||||
/// * `relay` - The URL of the relay server.
|
|
||||||
/// * `name` - The name of the receiver.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// Returns a `Result` indicating the success or failure of the receiver process.
|
|
||||||
pub async fn start_receiver(filepath: String, relay: &str, name: &str) -> Result<()> {
|
|
||||||
let http_url = replace_protocol(relay);
|
|
||||||
let res = http_client::download_info(http_url.as_str(), name)
|
|
||||||
.await
|
|
||||||
.unwrap();
|
|
||||||
debug!("Got room_id from Server: {:?}", res);
|
|
||||||
let res_ip = String::from("ws://") + res.ip.as_str() + ":9000";
|
|
||||||
|
|
||||||
#[cfg(not(target_os = "android"))]
|
|
||||||
if let Err(local_err) = start_ws_com(
|
|
||||||
filepath.clone(),
|
|
||||||
res_ip.as_str(),
|
|
||||||
res.local_room_id.as_str(),
|
|
||||||
)
|
|
||||||
.await
|
|
||||||
{
|
|
||||||
debug!("Failed to connect local: {local_err}");
|
|
||||||
if let Err(relay_err) = start_ws_com(filepath, relay, res.relay_room_id.as_str()).await {
|
|
||||||
debug!("Failed to connect remote: {relay_err}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(target_os = "android")]
|
|
||||||
if let Err(relay_err) = start_ws_com(filepath, relay, res.relay_room_id.as_str()).await {
|
|
||||||
debug!("Failed to connect remote: {relay_err}");
|
|
||||||
}
|
|
||||||
http_client::download_success(http_url.as_str(), name)
|
|
||||||
.await
|
|
||||||
.map_err(|e| anyhow!("Failed to download success: {}", e))?;
|
|
||||||
|
|
||||||
debug!("Success");
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Asynchronously starts a WebSocket communication with a relay server.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `filepath` - The path of the file to transfer.
|
|
||||||
/// * `relay` - The URL of the relay server.
|
|
||||||
/// * `name` - The name of the receiver.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// Returns a `Result` indicating the success or failure of the WebSocket communication.
|
|
||||||
pub async fn start_ws_com(filepath: String, relay: &str, name: &str) -> Result<()> {
|
|
||||||
// Construct the WebSocket URL by appending "/ws" to the relay URL.
|
|
||||||
let url = String::from(relay) + "/ws";
|
|
||||||
|
|
||||||
// Create a WebSocket request using the constructed URL.
|
|
||||||
let mut request = url
|
|
||||||
.into_client_request()
|
|
||||||
.map_err(|e| anyhow!("Failed to create request: {}", e))?;
|
|
||||||
|
|
||||||
// Set the "Origin" header of the request to the relay URL.
|
|
||||||
request
|
|
||||||
.headers_mut()
|
|
||||||
.insert("Origin", HeaderValue::from_str(relay).unwrap());
|
|
||||||
|
|
||||||
// Print a message indicating the attempt to connect.
|
|
||||||
println!("Attempting to connect...");
|
|
||||||
|
|
||||||
// Attempt to establish a WebSocket connection with the relay server.
|
|
||||||
// If the connection fails or times out, return an error.
|
|
||||||
let _ = match tokio::time::timeout(std::time::Duration::from_secs(5), connect_async(request))
|
|
||||||
.await
|
|
||||||
{
|
|
||||||
Ok(Ok((socket, _))) => {
|
|
||||||
// Start the receiver process with the established WebSocket connection.
|
|
||||||
receiver::start(filepath, socket, name).await;
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
Ok(Err(e)) => {
|
|
||||||
// Log the failure to connect.
|
|
||||||
error!("Error: Failed to connect: {e:?}");
|
|
||||||
Err(Box::new(e))
|
|
||||||
}
|
|
||||||
Err(e) => {
|
|
||||||
// Log the timeout.
|
|
||||||
error!("Error: Timeout reached for local connection attempt");
|
|
||||||
Err(Box::new(e))
|
|
||||||
}?,
|
|
||||||
};
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
use std::{collections::HashMap, sync::Arc};
|
|
||||||
use tokio::sync::RwLock;
|
|
||||||
|
|
||||||
use crate::relay::room::Room;
|
|
||||||
use crate::relay::transfer::TransferResponse;
|
|
||||||
|
|
||||||
/// State of the application.
|
|
||||||
///
|
|
||||||
/// This structure holds the state of the application, which includes the rooms
|
|
||||||
/// and the transfers.
|
|
||||||
#[derive(Debug, Clone)]
|
|
||||||
pub struct AppState {
|
|
||||||
/// Map of rooms, where the key is the room's ID and the value is the room
|
|
||||||
/// itself.
|
|
||||||
pub rooms: HashMap<String, Room>,
|
|
||||||
/// Vector of transfers.
|
|
||||||
pub transfers: Vec<TransferResponse>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl AppState {
|
|
||||||
/// Creates a new instance of the `AppState` struct.
|
|
||||||
///
|
|
||||||
/// This function initializes the state of the application with an empty map
|
|
||||||
/// of rooms and an empty vector of transfers.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// An `Arc<RwLock<AppState>>` that can be used to share the state across multiple
|
|
||||||
/// tasks.
|
|
||||||
pub fn new() -> Arc<RwLock<AppState>> {
|
|
||||||
// Create a new instance of `AppState` with empty rooms and transfers.
|
|
||||||
let app_state = AppState {
|
|
||||||
rooms: HashMap::new(),
|
|
||||||
transfers: Vec::new(),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Wrap the `app_state` in a `RwLock` to make it thread-safe.
|
|
||||||
Arc::new(RwLock::new(app_state))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use super::*;
|
|
||||||
use std::sync::Arc;
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_new() {
|
|
||||||
let app_state = AppState::new();
|
|
||||||
|
|
||||||
assert!(Arc::ptr_eq(&app_state, &app_state.clone()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,397 +0,0 @@
|
||||||
use axum::extract::ws::Message;
|
|
||||||
use futures_util::{future::join_all, stream::SplitSink, SinkExt};
|
|
||||||
use std::{sync::Arc, vec};
|
|
||||||
use tokio::{sync::Mutex, sync::RwLock};
|
|
||||||
use tracing::{debug, error};
|
|
||||||
|
|
||||||
use crate::relay::appstate::AppState;
|
|
||||||
use crate::relay::room::Room;
|
|
||||||
use crate::relay::RequestPacket;
|
|
||||||
use crate::relay::ResponsePacket;
|
|
||||||
use uuid::Uuid;
|
|
||||||
|
|
||||||
/// Type alias for a synchronized WebSocket sender.
|
|
||||||
///
|
|
||||||
/// This is used to send messages to a WebSocket connection.
|
|
||||||
type Sender = Arc<Mutex<SplitSink<axum::extract::ws::WebSocket, Message>>>;
|
|
||||||
|
|
||||||
/// Struct representing a WebSocket client.
|
|
||||||
///
|
|
||||||
/// This struct contains a WebSocket sender and an optional room ID.
|
|
||||||
/// The sender is used to send messages to the WebSocket connection,
|
|
||||||
/// while the room ID is used to identify the client's room.
|
|
||||||
#[derive(Debug)]
|
|
||||||
pub struct Client {
|
|
||||||
/// The WebSocket sender for sending messages.
|
|
||||||
sender: Sender,
|
|
||||||
/// The optional room ID of the client.
|
|
||||||
///
|
|
||||||
/// This is used to identify the client's room.
|
|
||||||
room_id: Option<String>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Client {
|
|
||||||
/// Creates a new WebSocket client.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `sender` - A synchronized WebSocket sender.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A new WebSocket client instance.
|
|
||||||
pub fn new(sender: Sender) -> Client {
|
|
||||||
Client {
|
|
||||||
sender, // The WebSocket sender for sending messages.
|
|
||||||
room_id: None, // The optional room ID of the client. This is used to identify the client's room.
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Sends a message to the WebSocket connection.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `sender` - A synchronized WebSocket sender.
|
|
||||||
/// * `message` - The message to send.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// If the message fails to be sent.
|
|
||||||
async fn send(&self, sender: Sender, message: Message) {
|
|
||||||
let mut sender = sender.lock().await; // Acquires a lock on the sender.
|
|
||||||
if let Err(error) = sender.send(message).await { // Sends the message.
|
|
||||||
error!("Failed to send message to the client: {}", error); // Logs the error if the message fails to be sent.
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Sends a serialized packet to the WebSocket connection.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `sender` - A synchronized WebSocket sender.
|
|
||||||
/// * `packet` - The packet to send.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// If the serialized packet fails to be sent.
|
|
||||||
async fn send_packet(&self, sender: Sender, packet: ResponsePacket) {
|
|
||||||
// Serialize the packet to a string.
|
|
||||||
let serialized_packet = serde_json::to_string(&packet).unwrap();
|
|
||||||
|
|
||||||
// Send the serialized packet as a text message.
|
|
||||||
self.send(sender, Message::Text(serialized_packet)).await;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Sends an error message to the WebSocket connection.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `sender` - A synchronized WebSocket sender.
|
|
||||||
/// * `message` - The error message to send.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// If the error message fails to be sent.
|
|
||||||
async fn send_error_packet(&self, sender: Sender, message: String) {
|
|
||||||
// Create an error packet with the given message.
|
|
||||||
let error_packet = ResponsePacket::Error { message };
|
|
||||||
|
|
||||||
// Send the error packet.
|
|
||||||
self.send_packet(sender, error_packet).await;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handles the "create_room" request from a client.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `server` - A lock guard of the `AppState`.
|
|
||||||
/// * `id` - An optional string representing the room identifier.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// If the room already exists or if the room creation fails.
|
|
||||||
async fn handle_create_room(&mut self, server: &RwLock<AppState>, id: Option<String>) {
|
|
||||||
// Acquire a write lock on the server state.
|
|
||||||
let mut server = server.write().await;
|
|
||||||
|
|
||||||
// Check if the client is already in a room.
|
|
||||||
if server.rooms.iter().any(|(_, room)| {
|
|
||||||
room.senders
|
|
||||||
.iter()
|
|
||||||
.any(|sender| Arc::ptr_eq(sender, &self.sender))
|
|
||||||
}) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the room size and generate a room identifier if none is provided.
|
|
||||||
let size = Room::DEFAULT_ROOM_SIZE;
|
|
||||||
let room_id = match id {
|
|
||||||
Some(id) => id,
|
|
||||||
None => Uuid::new_v4().to_string(),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Check if the room identifier already exists.
|
|
||||||
if server.rooms.contains_key(&room_id) {
|
|
||||||
drop(server); // Release the lock before returning.
|
|
||||||
|
|
||||||
return self
|
|
||||||
.send_error_packet(
|
|
||||||
self.sender.clone(),
|
|
||||||
"A room with that identifier already exists.".to_string(),
|
|
||||||
)
|
|
||||||
.await;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a new room and add the client to it.
|
|
||||||
let mut room = Room::new(size);
|
|
||||||
room.senders.push(self.sender.clone());
|
|
||||||
|
|
||||||
// Insert the room into the server state.
|
|
||||||
server.rooms.insert(room_id.clone(), room);
|
|
||||||
|
|
||||||
self.room_id = Some(room_id.clone()); // Store the room identifier.
|
|
||||||
|
|
||||||
drop(server); // Release the lock before returning.
|
|
||||||
|
|
||||||
debug!("Room created");
|
|
||||||
// Send the response packet to the client.
|
|
||||||
self.send_packet(self.sender.clone(), ResponsePacket::Create { id: room_id })
|
|
||||||
.await
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handles the "join_room" request from a client.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `server` - A lock guard of the `AppState`.
|
|
||||||
/// * `room_id` - A string representing the room identifier.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// If the room does not exist or if the room is full.
|
|
||||||
async fn handle_join_room(&mut self, server: &RwLock<AppState>, room_id: String) {
|
|
||||||
let mut server = server.write().await;
|
|
||||||
|
|
||||||
// Check if the client is already in a room.
|
|
||||||
if server.rooms.iter().any(|(_, room)| {
|
|
||||||
room.senders
|
|
||||||
.iter()
|
|
||||||
.any(|sender| Arc::ptr_eq(sender, &self.sender))
|
|
||||||
}) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let Some(room) = server.rooms.get_mut(&room_id) else {
|
|
||||||
drop(server);
|
|
||||||
|
|
||||||
// Send an error packet to the client.
|
|
||||||
return self
|
|
||||||
.send_error_packet(self.sender.clone(), "The room does not exist.".to_string())
|
|
||||||
.await;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Check if the room is full.
|
|
||||||
if room.senders.len() >= room.size {
|
|
||||||
drop(server);
|
|
||||||
|
|
||||||
// Send an error packet to the client.
|
|
||||||
return self
|
|
||||||
.send_error_packet(self.sender.clone(), "The room is full.".to_string())
|
|
||||||
.await;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add the client to the room.
|
|
||||||
room.senders.push(self.sender.clone());
|
|
||||||
self.room_id = Some(room_id);
|
|
||||||
|
|
||||||
let mut futures = vec![];
|
|
||||||
for sender in &room.senders {
|
|
||||||
// Send a join packet to the client with its position in the room.
|
|
||||||
if Arc::ptr_eq(sender, &self.sender) {
|
|
||||||
futures.push(self.send_packet(
|
|
||||||
sender.clone(),
|
|
||||||
ResponsePacket::Join {
|
|
||||||
size: Some(room.senders.len() - 1),
|
|
||||||
},
|
|
||||||
));
|
|
||||||
} else {
|
|
||||||
// Send a join packet to the client without its position in the room.
|
|
||||||
futures.push(self.send_packet(sender.clone(), ResponsePacket::Join { size: None }));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
drop(server);
|
|
||||||
join_all(futures).await;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handle the leave room request from the client.
|
|
||||||
///
|
|
||||||
/// This function removes the client from the current room and notifies the other
|
|
||||||
/// clients in the room about the client's departure.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `server` - A read-write lock guard for the server state.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// This function does not return anything.
|
|
||||||
#[allow(clippy::needless_pass_by_value)]
|
|
||||||
async fn handle_leave_room(&mut self, server: &RwLock<AppState>) {
|
|
||||||
// Acquire a write lock on the server state.
|
|
||||||
let mut server = server.write().await;
|
|
||||||
|
|
||||||
// Get the room ID of the current room.
|
|
||||||
let Some(room_id) = self.room_id.clone() else {
|
|
||||||
return;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Get the mutable reference to the room.
|
|
||||||
let Some(room) = server.rooms.get_mut(&room_id) else {
|
|
||||||
return;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Get the index of the client in the room.
|
|
||||||
let Some(index) = room
|
|
||||||
.senders
|
|
||||||
.iter()
|
|
||||||
.position(|sender| Arc::ptr_eq(sender, &self.sender))
|
|
||||||
else {
|
|
||||||
return;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Remove the client from the room.
|
|
||||||
room.senders.remove(index);
|
|
||||||
|
|
||||||
self.room_id = None;
|
|
||||||
|
|
||||||
let mut futures = vec![];
|
|
||||||
for sender in &room.senders {
|
|
||||||
// Send a leave packet to the other clients in the room.
|
|
||||||
futures.push(self.send_packet(sender.clone(), ResponsePacket::Leave { index }));
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the room is empty, remove it from the server state.
|
|
||||||
if room.senders.is_empty() {
|
|
||||||
server.rooms.remove(&room_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
drop(server);
|
|
||||||
|
|
||||||
// Wait for all the futures to complete.
|
|
||||||
join_all(futures).await;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handles incoming messages from the client.
|
|
||||||
///
|
|
||||||
/// This function interprets the incoming message and performs the corresponding action.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `server` - A RwLock guard containing the state of the server.
|
|
||||||
/// * `message` - The incoming message from the client.
|
|
||||||
pub async fn handle_message(&mut self, server: &RwLock<AppState>, message: Message) {
|
|
||||||
// Match on the type of the message.
|
|
||||||
match message {
|
|
||||||
// If the message is text, parse it as a RequestPacket.
|
|
||||||
Message::Text(text) => {
|
|
||||||
let packet = match serde_json::from_str(&text) {
|
|
||||||
Ok(packet) => packet,
|
|
||||||
Err(_) => return, // Return if the parsing fails.
|
|
||||||
};
|
|
||||||
// Match on the RequestPacket type and perform the corresponding action.
|
|
||||||
match packet {
|
|
||||||
RequestPacket::Create { id } => self.handle_create_room(server, id).await,
|
|
||||||
RequestPacket::Join { id } => self.handle_join_room(server, id).await,
|
|
||||||
RequestPacket::Leave => self.handle_leave_room(server).await,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// If the message is binary, handle it accordingly.
|
|
||||||
Message::Binary(_) => {
|
|
||||||
// Acquire a read lock on the server state.
|
|
||||||
let server = server.read().await;
|
|
||||||
|
|
||||||
// Get the room ID of the current room.
|
|
||||||
let Some(room_id) = &self.room_id else {
|
|
||||||
drop(server);
|
|
||||||
return; // Return if the client is not in a room.
|
|
||||||
};
|
|
||||||
|
|
||||||
// Get the room corresponding to the room ID.
|
|
||||||
let Some(room) = server.rooms.get(room_id) else {
|
|
||||||
drop(server);
|
|
||||||
return; // Return if the room does not exist.
|
|
||||||
};
|
|
||||||
|
|
||||||
// Get the index of the client in the room.
|
|
||||||
let Some(index) = room
|
|
||||||
.senders
|
|
||||||
.iter()
|
|
||||||
.position(|sender| Arc::ptr_eq(sender, &self.sender))
|
|
||||||
else {
|
|
||||||
drop(server);
|
|
||||||
return; // Return if the client is not in the room.
|
|
||||||
};
|
|
||||||
|
|
||||||
// Get the binary data from the message.
|
|
||||||
let mut data = message.into_data();
|
|
||||||
if data.is_empty() {
|
|
||||||
drop(server);
|
|
||||||
return; // Return if the data is empty.
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert the index to a u8 and assign it as the source.
|
|
||||||
let source = u8::try_from(index).unwrap();
|
|
||||||
|
|
||||||
// Get the destination from the first byte of the data.
|
|
||||||
let destination = usize::from(data[0]);
|
|
||||||
data[0] = source; // Assign the source to the first byte of the data.
|
|
||||||
|
|
||||||
// If the destination is within the range of the room senders, send the data to that sender.
|
|
||||||
if destination < room.senders.len() {
|
|
||||||
let sender = room.senders[destination].clone();
|
|
||||||
|
|
||||||
drop(server);
|
|
||||||
return self.send(sender, Message::Binary(data)).await;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the destination is u8::MAX, send the data to all the room senders except the current one.
|
|
||||||
if destination == usize::from(u8::MAX) {
|
|
||||||
let mut futures = vec![];
|
|
||||||
for sender in &room.senders {
|
|
||||||
if Arc::ptr_eq(sender, &self.sender) {
|
|
||||||
continue; // Skip the current client.
|
|
||||||
}
|
|
||||||
|
|
||||||
futures.push(self.send(sender.clone(), Message::Binary(data.clone())));
|
|
||||||
}
|
|
||||||
|
|
||||||
drop(server);
|
|
||||||
join_all(futures).await;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// If the message is Ping, print a message.
|
|
||||||
Message::Ping(_) => {
|
|
||||||
println!("Got Message Type Ping");
|
|
||||||
}
|
|
||||||
// If the message is Pong, print a message.
|
|
||||||
Message::Pong(_) => {
|
|
||||||
println!("Got Message Type Pong");
|
|
||||||
}
|
|
||||||
// If the message is Close, print a message and handle the close.
|
|
||||||
Message::Close(_) => {
|
|
||||||
println!("Got Message Type Close");
|
|
||||||
self.handle_close(server).await;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub async fn handle_close(&mut self, server: &RwLock<AppState>) {
|
|
||||||
self.handle_leave_room(server).await
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// TODO: Add tests
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
// use super::*;
|
|
||||||
}
|
|
||||||
|
|
@ -1,80 +0,0 @@
|
||||||
pub mod appstate;
|
|
||||||
pub mod client;
|
|
||||||
pub mod room;
|
|
||||||
pub mod server;
|
|
||||||
pub mod transfer;
|
|
||||||
|
|
||||||
use serde::{Deserialize, Serialize};
|
|
||||||
|
|
||||||
|
|
||||||
/// Represents a packet sent by a client to the server.
|
|
||||||
///
|
|
||||||
/// The `type` field is used to determine the type of the packet. It can be one of the following
|
|
||||||
/// values:
|
|
||||||
/// - `Join`: The client wants to join a room.
|
|
||||||
/// - `Create`: The client wants to create a new room.
|
|
||||||
/// - `Leave`: The client wants to leave the current room.
|
|
||||||
#[derive(Debug, Serialize, Deserialize)]
|
|
||||||
#[serde(tag = "type", rename_all = "camelCase")]
|
|
||||||
pub enum RequestPacket {
|
|
||||||
/// The client wants to join a room.
|
|
||||||
///
|
|
||||||
/// The `id` field is the ID of the room that the client wants to join.
|
|
||||||
Join {
|
|
||||||
/// The ID of the room that the client wants to join.
|
|
||||||
id: String,
|
|
||||||
},
|
|
||||||
/// The client wants to create a new room.
|
|
||||||
///
|
|
||||||
/// The `id` field is an optional field that specifies the ID of the new room. If it is `None`,
|
|
||||||
/// a random ID will be generated.
|
|
||||||
Create {
|
|
||||||
/// The ID of the new room. If it is `None`, a random ID will be generated.
|
|
||||||
id: Option<String>,
|
|
||||||
},
|
|
||||||
/// The client wants to leave the current room.
|
|
||||||
Leave,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Represents a packet sent by the server to the client.
|
|
||||||
///
|
|
||||||
/// The `type` field is used to determine the type of the packet. It can be one of the following
|
|
||||||
/// values:
|
|
||||||
/// - `Join`: The client has joined a room.
|
|
||||||
/// - `Create`: The client has created a new room.
|
|
||||||
/// - `Leave`: The client has left the current room.
|
|
||||||
/// - `Error`: There was an error.
|
|
||||||
#[derive(Debug, Serialize, Deserialize)]
|
|
||||||
#[serde(tag = "type", rename_all = "camelCase")]
|
|
||||||
pub enum ResponsePacket {
|
|
||||||
/// The client has joined a room.
|
|
||||||
///
|
|
||||||
/// The `size` field is an optional field that specifies the size of the room. If it is `None`,
|
|
||||||
/// the size is unknown.
|
|
||||||
Join {
|
|
||||||
/// The size of the room. If it is `None`, the size is unknown.
|
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
|
||||||
size: Option<usize>,
|
|
||||||
},
|
|
||||||
/// The client has created a new room.
|
|
||||||
///
|
|
||||||
/// The `id` field is the ID of the new room.
|
|
||||||
Create {
|
|
||||||
/// The ID of the new room.
|
|
||||||
id: String,
|
|
||||||
},
|
|
||||||
/// The client has left the current room.
|
|
||||||
///
|
|
||||||
/// The `index` field is the index of the client in the room.
|
|
||||||
Leave {
|
|
||||||
/// The index of the client in the room.
|
|
||||||
index: usize,
|
|
||||||
},
|
|
||||||
/// There was an error.
|
|
||||||
///
|
|
||||||
/// The `message` field is the error message.
|
|
||||||
Error {
|
|
||||||
/// The error message.
|
|
||||||
message: String,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
use axum::extract::ws::{Message, WebSocket};
|
|
||||||
use futures_util::stream::SplitSink;
|
|
||||||
use std::sync::Arc;
|
|
||||||
use tokio::sync::Mutex;
|
|
||||||
|
|
||||||
// `Sender` is a type alias for a synchronized WebSocket sender.
|
|
||||||
//
|
|
||||||
// This is used to send messages to a WebSocket connection.
|
|
||||||
type Sender = Arc<Mutex<SplitSink<WebSocket, Message>>>;
|
|
||||||
|
|
||||||
/// Struct representing a room of WebSocket clients.
|
|
||||||
///
|
|
||||||
/// A `Room` contains a list of WebSocket senders and a room size.
|
|
||||||
/// The senders are used to send messages to the WebSocket connections,
|
|
||||||
/// while the room size represents the maximum number of clients allowed in the room.
|
|
||||||
#[derive(Debug, Clone)]
|
|
||||||
pub struct Room {
|
|
||||||
/// The list of WebSocket senders.
|
|
||||||
///
|
|
||||||
/// Each sender is used to send messages to a WebSocket connection.
|
|
||||||
pub senders: Vec<Sender>,
|
|
||||||
/// The size of the room.
|
|
||||||
///
|
|
||||||
/// This represents the maximum number of clients allowed in the room.
|
|
||||||
pub size: usize,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Room {
|
|
||||||
/// The default room size.
|
|
||||||
///
|
|
||||||
/// This is used as a fallback value when creating a new room.
|
|
||||||
pub const DEFAULT_ROOM_SIZE: usize = 2;
|
|
||||||
|
|
||||||
/// Create a new room with the specified size.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `size` - The size of the room.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A new `Room` instance.
|
|
||||||
pub fn new(size: usize) -> Room {
|
|
||||||
Room {
|
|
||||||
senders: Vec::new(),
|
|
||||||
size,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
#[tokio::test]
|
|
||||||
async fn test_room_new() {
|
|
||||||
let room = Room::new(5);
|
|
||||||
|
|
||||||
assert_eq!(room.size, 5);
|
|
||||||
|
|
||||||
assert!(room.senders.is_empty());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,320 +0,0 @@
|
||||||
use axum::{
|
|
||||||
extract::{ws::WebSocket, Json, Path, State, WebSocketUpgrade},
|
|
||||||
http::StatusCode,
|
|
||||||
response::IntoResponse,
|
|
||||||
routing::{get, post, put},
|
|
||||||
Router,
|
|
||||||
};
|
|
||||||
|
|
||||||
use futures_util::StreamExt;
|
|
||||||
use serde_json::json;
|
|
||||||
use std::{net::SocketAddr, sync::Arc};
|
|
||||||
use tokio::{
|
|
||||||
net::TcpListener,
|
|
||||||
signal,
|
|
||||||
sync::{Mutex, RwLock},
|
|
||||||
};
|
|
||||||
use tower_http::trace::{DefaultMakeSpan, TraceLayer};
|
|
||||||
use tracing::{debug, error, info, warn};
|
|
||||||
|
|
||||||
use crate::relay::client::Client;
|
|
||||||
use crate::relay::transfer::TransferResponse;
|
|
||||||
use crate::relay::{appstate::AppState, transfer::TransferRequest};
|
|
||||||
|
|
||||||
/// Start the WebSocket server.
|
|
||||||
///
|
|
||||||
/// This function initializes the server and starts listening for incoming connections.
|
|
||||||
/// It configures the routes for the WebSocket handler and the upload and download routes.
|
|
||||||
/// Additionally, it sets up the tracing layer to log incoming requests.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `port` - The port number to listen on.
|
|
||||||
/// * `listen_addr` - The IP address to listen on.
|
|
||||||
#[allow(clippy::unused_self)]
|
|
||||||
pub async fn start_ws(port: &i32, listen_addr: &String) {
|
|
||||||
// Log the server configuration.
|
|
||||||
debug!("Server configured to accept connections on host {listen_addr}...");
|
|
||||||
debug!("Server configured to listen connections on port {port}...");
|
|
||||||
|
|
||||||
// Create a new instance of the server state.
|
|
||||||
let server = AppState::new();
|
|
||||||
|
|
||||||
// Set up the routes for the server.
|
|
||||||
let app = Router::new()
|
|
||||||
.route("/ws", get(ws_handler))
|
|
||||||
.route("/upload", put(upload_info))
|
|
||||||
.route("/download/:name", get(download_info))
|
|
||||||
.route("/download_success/:name", post(download_success))
|
|
||||||
.with_state(server)
|
|
||||||
// Set up the tracing layer to log incoming requests.
|
|
||||||
.layer(
|
|
||||||
TraceLayer::new_for_http()
|
|
||||||
.make_span_with(DefaultMakeSpan::default().include_headers(true)),
|
|
||||||
);
|
|
||||||
|
|
||||||
// Start listening for incoming connections.
|
|
||||||
let addr = format!("{}:{}", listen_addr, port);
|
|
||||||
if let Ok(listener) = TcpListener::bind(&addr).await {
|
|
||||||
let local_addr = listener.local_addr().unwrap();
|
|
||||||
info!("Listening on: {}", local_addr);
|
|
||||||
|
|
||||||
// Serve the app with the listener and handle shutdown gracefully.
|
|
||||||
axum::serve(
|
|
||||||
listener,
|
|
||||||
app.into_make_service_with_connect_info::<SocketAddr>(),
|
|
||||||
)
|
|
||||||
.with_graceful_shutdown(shutdown_signal())
|
|
||||||
.await
|
|
||||||
.unwrap();
|
|
||||||
} else {
|
|
||||||
// Log if the server failed to start.
|
|
||||||
error!("Failed to listen on: {listen_addr}:{port}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handler for the WebSocket route.
|
|
||||||
///
|
|
||||||
/// This function upgrades the connection to a WebSocket and handles the socket.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `ws` - The WebSocketUpgrade struct containing the upgrade request.
|
|
||||||
/// * `shared_state` - The shared state of the server.
|
|
||||||
pub async fn ws_handler(
|
|
||||||
ws: WebSocketUpgrade,
|
|
||||||
State(shared_state): State<Arc<RwLock<AppState>>>,
|
|
||||||
) -> impl IntoResponse {
|
|
||||||
// Log the request on the WebSocket route.
|
|
||||||
debug!("Got Request on Websocket route");
|
|
||||||
// Log the connection upgrade.
|
|
||||||
debug!("Upgrading Connection");
|
|
||||||
// Upgrade the connection to a WebSocket and handle the socket.
|
|
||||||
// Move the shared state to the handler to avoid holding the lock during the entire connection.
|
|
||||||
ws.on_upgrade(move |socket| handle_socket(socket, shared_state))
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Handles the WebSocket connection.
|
|
||||||
///
|
|
||||||
/// This function splits the WebSocket into a sender and receiver,
|
|
||||||
/// creates a client, and handles the messages received from the client.
|
|
||||||
/// It also handles the close event from the client.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `socket` - The WebSocket connection.
|
|
||||||
/// * `rooms` - The shared state of the server.
|
|
||||||
async fn handle_socket(socket: WebSocket, rooms: Arc<RwLock<AppState>>) {
|
|
||||||
// Split the WebSocket into a sender and receiver.
|
|
||||||
let (sender, mut receiver) = socket.split();
|
|
||||||
|
|
||||||
// Create a new Mutex to prevent concurrent access to the sender.
|
|
||||||
let sender = Arc::new(Mutex::new(sender));
|
|
||||||
|
|
||||||
// Create a new client with the sender.
|
|
||||||
let mut client = Client::new(sender.clone());
|
|
||||||
|
|
||||||
// Handle the messages received from the client.
|
|
||||||
while let Some(message) = receiver.next().await {
|
|
||||||
match message {
|
|
||||||
Ok(message) => {
|
|
||||||
// Handle the message received from the client.
|
|
||||||
client.handle_message(&rooms, message).await;
|
|
||||||
}
|
|
||||||
Err(error) => {
|
|
||||||
// Log the error if failed to read message from the client.
|
|
||||||
warn!("Failed to read message from client: {}", error);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handle the close event from the client.
|
|
||||||
client.handle_close(&rooms).await
|
|
||||||
}
|
|
||||||
|
|
||||||
async fn shutdown_signal() {
|
|
||||||
let ctrl_c = async {
|
|
||||||
signal::ctrl_c()
|
|
||||||
.await
|
|
||||||
.expect("failed to install Ctrl+C handler");
|
|
||||||
};
|
|
||||||
|
|
||||||
#[cfg(unix)]
|
|
||||||
let terminate = async {
|
|
||||||
signal::unix::signal(signal::unix::SignalKind::terminate())
|
|
||||||
.expect("failed to install signal handler")
|
|
||||||
.recv()
|
|
||||||
.await;
|
|
||||||
};
|
|
||||||
|
|
||||||
#[cfg(not(unix))]
|
|
||||||
let terminate = std::future::pending::<()>();
|
|
||||||
|
|
||||||
tokio::select! {
|
|
||||||
_ = ctrl_c => {},
|
|
||||||
_ = terminate => {},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handles the upload_info route.
|
|
||||||
///
|
|
||||||
/// It updates or creates a new transfer request in the shared state.
|
|
||||||
/// If the request is found in the shared state, it updates the relay_room_id or local_room_id
|
|
||||||
/// based on the payload. If the request is not found, it creates a new transfer request and
|
|
||||||
/// adds it to the shared state.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `shared_state` - The shared state containing the transfer requests.
|
|
||||||
/// * `payload` - The JSON payload containing the transfer request information.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A tuple of the HTTP status code and the JSON response.
|
|
||||||
pub async fn upload_info(
|
|
||||||
State(shared_state): State<Arc<RwLock<AppState>>>,
|
|
||||||
Json(payload): Json<TransferRequest>,
|
|
||||||
) -> impl IntoResponse {
|
|
||||||
let mut data = shared_state.write().await;
|
|
||||||
|
|
||||||
// Find the transfer request in the shared state
|
|
||||||
match data
|
|
||||||
.transfers
|
|
||||||
.iter_mut()
|
|
||||||
.find(|request| request.name == payload.name)
|
|
||||||
{
|
|
||||||
// Update the relay_room_id or local_room_id if the request is found
|
|
||||||
Some(request) => {
|
|
||||||
debug!("Found Transfer");
|
|
||||||
debug!("Request is: {:?}", request);
|
|
||||||
if request.relay_room_id.is_empty() {
|
|
||||||
request.relay_room_id = payload.relay_room_id;
|
|
||||||
debug!("Found Transfer and updated");
|
|
||||||
debug!("request is: {:#?}", request);
|
|
||||||
(StatusCode::OK, Json(request.clone()))
|
|
||||||
} else {
|
|
||||||
request.local_room_id = payload.local_room_id;
|
|
||||||
debug!("Found Transfer and updated");
|
|
||||||
debug!("request is: {:#?}", request);
|
|
||||||
(StatusCode::OK, Json(request.clone()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Create a new transfer request if the request is not found
|
|
||||||
None => {
|
|
||||||
// Initialize relay and local room IDs based on the payload
|
|
||||||
let mut local = String::from("");
|
|
||||||
let mut relay = String::from("");
|
|
||||||
if payload.relay_room_id.is_empty() {
|
|
||||||
local = payload.local_room_id;
|
|
||||||
} else {
|
|
||||||
relay = payload.relay_room_id;
|
|
||||||
}
|
|
||||||
// Create a new transfer request
|
|
||||||
let t_request = TransferResponse {
|
|
||||||
name: payload.name,
|
|
||||||
ip: payload.ip,
|
|
||||||
local_room_id: local,
|
|
||||||
relay_room_id: relay,
|
|
||||||
};
|
|
||||||
// Add the transfer request to the shared state
|
|
||||||
data.transfers.push(t_request.clone());
|
|
||||||
|
|
||||||
debug!("New TransferRequest created");
|
|
||||||
debug!("Actual AppState is {:#?}", *data);
|
|
||||||
|
|
||||||
// Return the created transfer request as the response
|
|
||||||
(StatusCode::CREATED, Json(t_request))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Retrieve information about a transfer request based on the transfer name.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `shared_state` - The shared state containing the transfer requests.
|
|
||||||
/// * `name` - The name of the transfer request.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// Returns a response containing the transfer request if found, or a not found
|
|
||||||
/// response if the transfer request is not found.
|
|
||||||
pub async fn download_info(
|
|
||||||
State(shared_state): State<Arc<RwLock<AppState>>>,
|
|
||||||
Path(name): Path<String>,
|
|
||||||
) -> impl IntoResponse {
|
|
||||||
// Acquire write lock on shared state
|
|
||||||
let data = shared_state.write().await;
|
|
||||||
|
|
||||||
// Find transfer request by name
|
|
||||||
match data.transfers.iter().find(|request| request.name == name) {
|
|
||||||
// If transfer request is found, return Ok response with the transfer request
|
|
||||||
Some(request) => {
|
|
||||||
debug!("Found transfer name.");
|
|
||||||
(StatusCode::OK, Json(request.clone()))
|
|
||||||
}
|
|
||||||
// If transfer request is not found, return not found response
|
|
||||||
None => {
|
|
||||||
warn!("couldn't find transfer-name: {}", name);
|
|
||||||
(
|
|
||||||
StatusCode::NOT_FOUND,
|
|
||||||
Json(TransferResponse {
|
|
||||||
// Create a new empty transfer response
|
|
||||||
name: String::from(""),
|
|
||||||
ip: String::from(""),
|
|
||||||
local_room_id: String::from(""),
|
|
||||||
relay_room_id: String::from(""),
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Delete a transfer request by its name.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `shared_state` - The shared state containing the transfer requests.
|
|
||||||
/// * `name` - The name of the transfer request.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// Returns a response containing a JSON object with a message indicating the
|
|
||||||
/// success of the deletion. If the transfer request is not found, a not found
|
|
||||||
/// response is returned.
|
|
||||||
pub async fn download_success(
|
|
||||||
State(shared_state): State<Arc<RwLock<AppState>>>,
|
|
||||||
Path(name): Path<String>,
|
|
||||||
) -> impl IntoResponse {
|
|
||||||
let mut data = shared_state.write().await;
|
|
||||||
// Find the index of the transfer request
|
|
||||||
if let Some(index) = data
|
|
||||||
.transfers
|
|
||||||
.iter()
|
|
||||||
.position(|request| request.name == name)
|
|
||||||
{
|
|
||||||
// If the transfer request is found, remove it from the shared state
|
|
||||||
debug!("Found Transfer by name '{name}'");
|
|
||||||
data.transfers.remove(index);
|
|
||||||
debug!("Transfer deleted");
|
|
||||||
// Return a success response
|
|
||||||
(
|
|
||||||
StatusCode::OK,
|
|
||||||
Json(json!({
|
|
||||||
"message": "transfer deleted"
|
|
||||||
})),
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
// If the transfer request is not found, return a not found response
|
|
||||||
warn!("couldn't find transfer-name: {}", name);
|
|
||||||
(
|
|
||||||
StatusCode::NOT_FOUND,
|
|
||||||
Json(json!({
|
|
||||||
"message": "transfer not found"
|
|
||||||
})),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,879 +0,0 @@
|
||||||
use crate::sender::http_client::send_info;
|
|
||||||
use crate::sender::util::{hash_random_name, replace_protocol};
|
|
||||||
use crate::shared::{
|
|
||||||
packets::{
|
|
||||||
list_packet, packet::Value, ChunkPacket, HandshakePacket, HandshakeResponsePacket,
|
|
||||||
ListPacket, Packet, ProgressPacket,
|
|
||||||
},
|
|
||||||
JsonPacket, JsonPacketResponse, JsonPacketSender, PacketSender, Sender, Socket, Status,
|
|
||||||
};
|
|
||||||
|
|
||||||
use aes_gcm::{aead::Aead, Aes128Gcm, Key};
|
|
||||||
use base64::{engine::general_purpose, Engine as _};
|
|
||||||
use futures_util::{future, pin_mut, stream::TryStreamExt, StreamExt};
|
|
||||||
use hmac::{Hmac, Mac};
|
|
||||||
use p256::{ecdh::EphemeralSecret, PublicKey};
|
|
||||||
use prost::Message;
|
|
||||||
use rand::{rngs::OsRng, RngCore};
|
|
||||||
use sha2::Sha256;
|
|
||||||
use std::{
|
|
||||||
fs,
|
|
||||||
io::{stdout, Write},
|
|
||||||
path::Path,
|
|
||||||
time::Duration,
|
|
||||||
};
|
|
||||||
use tokio::{io::AsyncReadExt, task::JoinHandle, time::sleep};
|
|
||||||
use tokio_tungstenite::tungstenite::{protocol::Message as WebSocketMessage, Error};
|
|
||||||
use tracing::{debug, error};
|
|
||||||
|
|
||||||
const DESTINATION: u8 = 1;
|
|
||||||
const NONCE_SIZE: usize = 12;
|
|
||||||
const MAX_CHUNK_SIZE: isize = u16::MAX as isize;
|
|
||||||
const DELAY: Duration = Duration::from_millis(750);
|
|
||||||
|
|
||||||
|
|
||||||
/// Struct representing a file to be sent.
|
|
||||||
///
|
|
||||||
/// This struct holds the path, name and size of a file.
|
|
||||||
#[derive(Clone)]
|
|
||||||
struct File {
|
|
||||||
/// The path of the file to be sent.
|
|
||||||
path: String,
|
|
||||||
/// The name of the file to be sent.
|
|
||||||
name: String,
|
|
||||||
/// The size of the file to be sent.
|
|
||||||
size: u64,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// The context of a sender.
|
|
||||||
///
|
|
||||||
/// This struct holds the necessary information for a sender to send files.
|
|
||||||
/// It includes the HMAC, the sender, the ephemeral secret, the list of files to
|
|
||||||
/// be sent, the shared key, and the task handling the sending of the files.
|
|
||||||
struct Context {
|
|
||||||
/// The HMAC used for authentication.
|
|
||||||
hmac: Vec<u8>,
|
|
||||||
/// The sender used to send packets.
|
|
||||||
sender: Sender,
|
|
||||||
/// The ephemeral secret used for key exchange.
|
|
||||||
key: EphemeralSecret,
|
|
||||||
/// The list of files to be sent.
|
|
||||||
files: Vec<File>,
|
|
||||||
/// The shared key used for encryption.
|
|
||||||
shared_key: Option<Aes128Gcm>,
|
|
||||||
/// The task handling the sending of the files.
|
|
||||||
task: Option<JoinHandle<()>>,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handles the create room packet.
|
|
||||||
///
|
|
||||||
/// This function is called when a create room packet is received.
|
|
||||||
/// It creates a room on the specified relay and sends the necessary
|
|
||||||
/// information to the server.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `context` - The context of the sender.
|
|
||||||
/// * `id` - The ID of the room.
|
|
||||||
/// * `relay` - The URL of the relay.
|
|
||||||
/// * `transfer_name` - The name of the transfer.
|
|
||||||
/// * `is_local` - A boolean indicating whether the room is local.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` representing the result of the operation.
|
|
||||||
fn on_create_room(
|
|
||||||
context: &Context,
|
|
||||||
id: String,
|
|
||||||
relay: String,
|
|
||||||
transfer_name: String,
|
|
||||||
is_local: bool,
|
|
||||||
) -> Status {
|
|
||||||
// Debug log the relay URL
|
|
||||||
debug!("Creating room on: {relay}");
|
|
||||||
|
|
||||||
// Encode the HMAC key using base64
|
|
||||||
let base64 = general_purpose::STANDARD.encode(&context.hmac);
|
|
||||||
|
|
||||||
// Generate the URL for the room
|
|
||||||
let url = format!("{}-{}", id, base64);
|
|
||||||
|
|
||||||
// Hash the transfer name
|
|
||||||
let hash_name = hash_random_name(transfer_name.clone());
|
|
||||||
|
|
||||||
// Create copies of the necessary variables for the thread
|
|
||||||
let send_url = url.to_string();
|
|
||||||
let h_name = hash_name.to_string();
|
|
||||||
let server_url = replace_protocol(relay.as_str());
|
|
||||||
|
|
||||||
// Spawn a new thread to send the information to the server
|
|
||||||
let res = std::thread::spawn(move || {
|
|
||||||
// Create a new runtime and block on the current thread
|
|
||||||
tokio::runtime::Builder::new_current_thread()
|
|
||||||
.enable_all()
|
|
||||||
.build()
|
|
||||||
.unwrap()
|
|
||||||
.block_on(send_info(&server_url, &h_name, send_url.as_str(), is_local))
|
|
||||||
})
|
|
||||||
.join()
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
// Debug log the result
|
|
||||||
debug!("Got Result: {:?}", res);
|
|
||||||
|
|
||||||
// Handle the result of sending the information to the server
|
|
||||||
match res {
|
|
||||||
Ok(transfer_response) => {
|
|
||||||
// Print the room URL and transfer name
|
|
||||||
if !transfer_response.local_room_id.is_empty()
|
|
||||||
&& !transfer_response.relay_room_id.is_empty()
|
|
||||||
{
|
|
||||||
println!();
|
|
||||||
|
|
||||||
// Print the QR code for the transfer name
|
|
||||||
if let Err(error) = qr2term::print_qr(&transfer_name) {
|
|
||||||
error!("Failed to generate QR code: {}", error);
|
|
||||||
}
|
|
||||||
println!();
|
|
||||||
|
|
||||||
println!("Created room: {}", url);
|
|
||||||
println!("Transfername is: {}", transfer_name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Err(e) => {
|
|
||||||
// Log the error
|
|
||||||
error!("Error sending info: {e}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Continue with the operation
|
|
||||||
Status::Continue()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Handle the join room packet.
|
|
||||||
///
|
|
||||||
/// This function is responsible for handling the join room packet received from the receiver.
|
|
||||||
/// It checks if the size of the room is provided and returns an error if it is not. It then
|
|
||||||
/// generates the public key and signs it with the HMAC key. It sends the handshake packet to
|
|
||||||
/// the receiver.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `context` - The sender context.
|
|
||||||
/// * `size` - The size of the room.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` representing the result of the operation.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// Returns an error if the join room packet is invalid.
|
|
||||||
fn on_join_room(context: &Context, size: Option<usize>) -> Status {
|
|
||||||
// Check if the size of the room is provided
|
|
||||||
if size.is_some() {
|
|
||||||
return Status::Err("Invalid join room packet.".into());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate the public key
|
|
||||||
let public_key = context.key.public_key().to_sec1_bytes().into_vec();
|
|
||||||
|
|
||||||
// Generate the signature by signing the public key with the HMAC key
|
|
||||||
let mut mac = Hmac::<Sha256>::new_from_slice(&context.hmac).unwrap();
|
|
||||||
mac.update(&public_key);
|
|
||||||
let signature = mac.finalize().into_bytes().to_vec();
|
|
||||||
|
|
||||||
// Create the handshake packet with the public key and signature
|
|
||||||
let handshake = HandshakePacket {
|
|
||||||
public_key,
|
|
||||||
signature,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Send the handshake packet to the receiver
|
|
||||||
context
|
|
||||||
.sender
|
|
||||||
.send_packet(DESTINATION, Value::Handshake(handshake));
|
|
||||||
|
|
||||||
Status::Continue()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// Handles errors by returning a `Status` with the error message.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `message` - The error message.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` indicating the error with the error message.
|
|
||||||
#[allow(clippy::missing_panics_doc)]
|
|
||||||
#[inline]
|
|
||||||
fn on_error(message: String) -> Status {
|
|
||||||
// Return a `Status` with the error message
|
|
||||||
Status::Err(message)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Handle the leave room packet.
|
|
||||||
///
|
|
||||||
/// This function handles the leave room packet by aborting any ongoing task,
|
|
||||||
/// generating a new random key, clearing the shared key, clearing the task,
|
|
||||||
/// and printing an error message indicating that the transfer was interrupted
|
|
||||||
/// because the receiver disconnected.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `context` - The sender context.
|
|
||||||
/// * `_` - The index of the sender. Currently unused.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` representing the result of the operation.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// Returns an error if there are still files being transferred.
|
|
||||||
#[allow(clippy::missing_panics_doc)]
|
|
||||||
#[inline]
|
|
||||||
fn on_leave_room(context: &mut Context, _: usize) -> Status {
|
|
||||||
// Abort any ongoing task
|
|
||||||
if let Some(task) = &context.task {
|
|
||||||
task.abort();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate a new random key
|
|
||||||
context.key = EphemeralSecret::random(&mut OsRng);
|
|
||||||
|
|
||||||
// Clear the shared key
|
|
||||||
context.shared_key = None;
|
|
||||||
|
|
||||||
// Clear the task
|
|
||||||
context.task = None;
|
|
||||||
|
|
||||||
// Print an error message
|
|
||||||
println!();
|
|
||||||
error!("Transfer was interrupted because the receiver disconnected.");
|
|
||||||
|
|
||||||
// Return a `Status` to indicate that the operation was successful
|
|
||||||
Status::Continue()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Handle the progress packet.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `context` - The sender context.
|
|
||||||
/// * `progress` - The progress packet.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` representing the result of the operation.
|
|
||||||
///
|
|
||||||
/// # Errors
|
|
||||||
///
|
|
||||||
/// Returns an error if the progress packet is invalid.
|
|
||||||
#[allow(clippy::missing_panics_doc)]
|
|
||||||
#[inline]
|
|
||||||
fn on_progress(context: &Context, progress: ProgressPacket) -> Status {
|
|
||||||
// Check if the shared key is established
|
|
||||||
if context.shared_key.is_none() {
|
|
||||||
// Return an error if the progress packet is invalid
|
|
||||||
return Status::Err("Invalid progress packet: no shared key established".into());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the file corresponding to the progress packet index
|
|
||||||
let file = match context.files.get(progress.index as usize) {
|
|
||||||
Some(file) => file,
|
|
||||||
None => return Status::Err("Invalid index in progress packet.".into()),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Print the progress of the file transfer
|
|
||||||
print!("\rTransferring '{}': {}%", file.name, progress.progress);
|
|
||||||
// Flush the stdout
|
|
||||||
stdout().flush().unwrap();
|
|
||||||
|
|
||||||
// Check if the progress is 100%
|
|
||||||
if progress.progress == 100 {
|
|
||||||
// Print a newline
|
|
||||||
println!();
|
|
||||||
|
|
||||||
// Check if this is the last file being transferred
|
|
||||||
if progress.index as usize == context.files.len() - 1 {
|
|
||||||
// Return an exit status to indicate that the operation was successful
|
|
||||||
return Status::Exit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return a continue status to indicate that the operation was successful
|
|
||||||
Status::Continue()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Asynchronously transfers the chunks of files to the receiver.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `sender` - The sender object used to send packets.
|
|
||||||
/// * `shared_key` - The shared key used for encryption.
|
|
||||||
/// * `files` - The list of files to be transferred.
|
|
||||||
#[allow(clippy::missing_panics_doc)]
|
|
||||||
#[inline]
|
|
||||||
async fn on_chunk(
|
|
||||||
sender: Sender,
|
|
||||||
shared_key: Option<Aes128Gcm>,
|
|
||||||
files: Vec<File>,
|
|
||||||
) {
|
|
||||||
// For each file in the list of files
|
|
||||||
for file in files {
|
|
||||||
let mut sequence = 0;
|
|
||||||
let mut chunk_size = MAX_CHUNK_SIZE;
|
|
||||||
let mut size = file.size as isize;
|
|
||||||
|
|
||||||
// Open the file
|
|
||||||
let mut handle = match tokio::fs::File::open(file.path).await {
|
|
||||||
Ok(handle) => handle,
|
|
||||||
Err(error) => {
|
|
||||||
// Print an error message if the file cannot be opened
|
|
||||||
println!("Error: Unable to open file '{}': {}", file.name, error);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// While there are still chunks to be transferred
|
|
||||||
while size > 0 {
|
|
||||||
// If the remaining size is less than the maximum chunk size
|
|
||||||
if size < chunk_size {
|
|
||||||
// Set the chunk size to the remaining size
|
|
||||||
chunk_size = size;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a vector to hold the chunk
|
|
||||||
let mut chunk = vec![0u8; chunk_size.try_into().unwrap()];
|
|
||||||
|
|
||||||
// Read the chunk from the file
|
|
||||||
handle.read_exact(&mut chunk).await.unwrap();
|
|
||||||
|
|
||||||
// Send the encrypted chunk packet to the receiver
|
|
||||||
sender.send_encrypted_packet(
|
|
||||||
&shared_key,
|
|
||||||
DESTINATION,
|
|
||||||
Value::Chunk(ChunkPacket { sequence, chunk }),
|
|
||||||
);
|
|
||||||
|
|
||||||
// Increment the sequence and decrement the size
|
|
||||||
sequence += 1;
|
|
||||||
size -= chunk_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wait for a delay before starting the next file transfer
|
|
||||||
sleep(DELAY).await;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Finalizes the handshake by sending the list of files to the receiver and
|
|
||||||
/// starting the file transfer task.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `context` - The mutable context holding the sender, files, and shared key.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` indicating the success or failure of the handshake finalization.
|
|
||||||
fn on_handshake_finalize(context: &mut Context) -> Status {
|
|
||||||
// Create a vector of `Entry`s from the files in the context
|
|
||||||
let mut entries = vec![];
|
|
||||||
for (index, file) in context.files.iter().enumerate() {
|
|
||||||
let entry = list_packet::Entry {
|
|
||||||
// The index of the file in the context
|
|
||||||
index: index.try_into().unwrap(),
|
|
||||||
// The name of the file
|
|
||||||
name: file.name.clone(),
|
|
||||||
// The size of the file
|
|
||||||
size: file.size,
|
|
||||||
};
|
|
||||||
entries.push(entry);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send the encrypted list packet to the receiver
|
|
||||||
context.sender.send_encrypted_packet(
|
|
||||||
&context.shared_key,
|
|
||||||
DESTINATION,
|
|
||||||
Value::List(ListPacket { entries }),
|
|
||||||
);
|
|
||||||
|
|
||||||
// Spawn the file transfer task and store it in the context
|
|
||||||
context.task = Some(tokio::spawn(on_chunk(
|
|
||||||
context.sender.clone(),
|
|
||||||
context.shared_key.clone(),
|
|
||||||
context.files.clone(),
|
|
||||||
)));
|
|
||||||
|
|
||||||
Status::Continue()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handles the handshake response packet received from the receiver.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `context` - The mutable context holding the sender, files, and shared key.
|
|
||||||
/// * `handshake_response` - The handshake response packet received from the receiver.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` indicating the success or failure of the handshake.
|
|
||||||
fn on_handshake(context: &mut Context, handshake_response: HandshakeResponsePacket) -> Status {
|
|
||||||
// Check if the handshake has already been performed
|
|
||||||
if context.shared_key.is_some() {
|
|
||||||
return Status::Err("Already performed handshake.".into());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a HMAC instance with the HMAC key
|
|
||||||
let mut mac = Hmac::<Sha256>::new_from_slice(&context.hmac).unwrap();
|
|
||||||
|
|
||||||
// Update the HMAC with the public key from the handshake response
|
|
||||||
mac.update(&handshake_response.public_key);
|
|
||||||
|
|
||||||
// Verify the signature in the handshake response
|
|
||||||
let verification = mac.verify_slice(&handshake_response.signature);
|
|
||||||
if verification.is_err() {
|
|
||||||
// Return an error if the signature is invalid
|
|
||||||
return Status::Err("Invalid signature from the receiver.".into());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert the public key from bytes to a public key instance
|
|
||||||
let shared_public_key = PublicKey::from_sec1_bytes(&handshake_response.public_key).unwrap();
|
|
||||||
|
|
||||||
// Derive the shared secret using Diffie-Hellman key exchange
|
|
||||||
let shared_secret = context.key.diffie_hellman(&shared_public_key);
|
|
||||||
|
|
||||||
// Extract the raw secret bytes from the shared secret
|
|
||||||
let shared_secret = shared_secret.raw_secret_bytes();
|
|
||||||
|
|
||||||
// Take the first 16 bytes of the secret as the shared key
|
|
||||||
let shared_secret = &shared_secret[0..16];
|
|
||||||
|
|
||||||
// Convert the shared secret bytes to a `Key<Aes128Gcm>` instance
|
|
||||||
let shared_key: &Key<Aes128Gcm> = shared_secret.into();
|
|
||||||
|
|
||||||
// Create a new instance of `Aes128Gcm` with the shared key
|
|
||||||
let shared_key = <Aes128Gcm as aes_gcm::KeyInit>::new(shared_key);
|
|
||||||
|
|
||||||
// Set the shared key in the context
|
|
||||||
context.shared_key = Some(shared_key);
|
|
||||||
|
|
||||||
// Finalize the handshake by sending the list of files and starting the file transfer task
|
|
||||||
on_handshake_finalize(context)
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Handles the incoming message from the WebSocket.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `context` - The mutable context holding the sender and shared key.
|
|
||||||
/// * `message` - The incoming WebSocket message.
|
|
||||||
/// * `relay` - The URL of the relay.
|
|
||||||
/// * `transfer_name` - The name of the transfer.
|
|
||||||
/// * `is_local` - Whether the transfer is local or not.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `Status` indicating the success or failure of handling the message.
|
|
||||||
fn on_message(
|
|
||||||
context: &mut Context,
|
|
||||||
message: WebSocketMessage,
|
|
||||||
relay: String,
|
|
||||||
transfer_name: String,
|
|
||||||
is_local: bool,
|
|
||||||
) -> Status {
|
|
||||||
match message.clone() {
|
|
||||||
// Handle the text WebSocket message
|
|
||||||
WebSocketMessage::Text(text) => {
|
|
||||||
// Parse the JSON packet from the text message
|
|
||||||
let packet = match serde_json::from_str(&text) {
|
|
||||||
Ok(packet) => packet,
|
|
||||||
Err(_) => {
|
|
||||||
return Status::Continue();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Call the corresponding handler based on the packet type
|
|
||||||
return match packet {
|
|
||||||
// Handle the `Create` packet
|
|
||||||
JsonPacketResponse::Create { id } => {
|
|
||||||
on_create_room(context, id, relay, transfer_name, is_local)
|
|
||||||
}
|
|
||||||
// Handle the `Join` packet
|
|
||||||
JsonPacketResponse::Join { size } => on_join_room(context, size),
|
|
||||||
// Handle the `Leave` packet
|
|
||||||
JsonPacketResponse::Leave { index } => on_leave_room(context, index),
|
|
||||||
// Handle the `Error` packet
|
|
||||||
JsonPacketResponse::Error { message } => on_error(message),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// Handle the binary WebSocket message
|
|
||||||
WebSocketMessage::Binary(data) => {
|
|
||||||
// Extract the encrypted data from the binary message
|
|
||||||
let data = data[1..].to_vec();
|
|
||||||
|
|
||||||
// Decrypt the data using the shared key if available
|
|
||||||
let data = if let Some(shared_key) = &context.shared_key {
|
|
||||||
let nonce = &data[..NONCE_SIZE];
|
|
||||||
let ciphertext = &data[NONCE_SIZE..];
|
|
||||||
|
|
||||||
shared_key.decrypt(nonce.into(), ciphertext).unwrap()
|
|
||||||
} else {
|
|
||||||
data
|
|
||||||
};
|
|
||||||
|
|
||||||
// Decode the packet from the decrypted data
|
|
||||||
let packet = Packet::decode(data.as_ref()).unwrap();
|
|
||||||
let value = packet.value.unwrap();
|
|
||||||
|
|
||||||
// Call the corresponding handler based on the packet value
|
|
||||||
return match value {
|
|
||||||
// Handle the `HandshakeResponse` packet
|
|
||||||
Value::HandshakeResponse(handshake_response) => {
|
|
||||||
on_handshake(context, handshake_response)
|
|
||||||
}
|
|
||||||
// Handle the `Progress` packet
|
|
||||||
Value::Progress(progress) => on_progress(context, progress),
|
|
||||||
// Handle unexpected packets
|
|
||||||
_ => Status::Err(format!("Unexpected packet: {:?}", value)),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// Handle other message types
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return an error for unsupported message types
|
|
||||||
Status::Err("Invalid message type".into())
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Starts the sender process.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `socket` - The WebSocket connection.
|
|
||||||
/// * `paths` - The paths to the files to be sent.
|
|
||||||
/// * `room_id` - The ID of the room to join.
|
|
||||||
/// * `relay` - The URL of the relay server.
|
|
||||||
/// * `transfer_name` - The name of the transfer.
|
|
||||||
/// * `is_local` - Whether the transfer is local or not.
|
|
||||||
#[allow(clippy::needless_doctest_main)]
|
|
||||||
pub async fn start(
|
|
||||||
socket: Socket,
|
|
||||||
paths: Vec<String>,
|
|
||||||
room_id: Option<String>,
|
|
||||||
relay: String,
|
|
||||||
transfer_name: String,
|
|
||||||
is_local: bool,
|
|
||||||
) {
|
|
||||||
// Prepare the files to be sent
|
|
||||||
let mut files = vec![];
|
|
||||||
|
|
||||||
for path in paths {
|
|
||||||
// Open the file
|
|
||||||
let handle = match fs::File::open(&path) {
|
|
||||||
Ok(handle) => handle,
|
|
||||||
Err(error) => {
|
|
||||||
error!("Error: Failed to open file '{}': {}", path, error);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let metadata = handle.metadata().unwrap();
|
|
||||||
|
|
||||||
// Check if the path points to a file
|
|
||||||
if metadata.is_dir() {
|
|
||||||
error!("Error: The path '{}' does not point to a file.", path);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let name = Path::new(&path).file_name().unwrap().to_str().unwrap();
|
|
||||||
|
|
||||||
let size = metadata.len();
|
|
||||||
|
|
||||||
// Check if the file is empty
|
|
||||||
if size == 0 {
|
|
||||||
error!("Error: The file '{}' is empty and cannot be sent.", name);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
files.push(File {
|
|
||||||
name: name.to_string(),
|
|
||||||
path,
|
|
||||||
size,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate the HMAC key
|
|
||||||
let mut hmac = [0u8; 32];
|
|
||||||
OsRng.fill_bytes(&mut hmac);
|
|
||||||
|
|
||||||
// Generate the encryption key
|
|
||||||
let key = EphemeralSecret::random(&mut OsRng);
|
|
||||||
|
|
||||||
// Create the flume channels
|
|
||||||
let (sender, receiver) = flume::bounded(1000);
|
|
||||||
|
|
||||||
// Split the WebSocket connection
|
|
||||||
let (outgoing, incoming) = socket.split();
|
|
||||||
|
|
||||||
// Create the context
|
|
||||||
let mut context = Context {
|
|
||||||
sender,
|
|
||||||
key,
|
|
||||||
files,
|
|
||||||
|
|
||||||
hmac: hmac.to_vec(),
|
|
||||||
shared_key: None,
|
|
||||||
task: None,
|
|
||||||
};
|
|
||||||
|
|
||||||
debug!("Attempting to create room...");
|
|
||||||
|
|
||||||
debug!("With Room-ID: {:?}", room_id);
|
|
||||||
// Send the create room packet
|
|
||||||
context.sender.send_json_packet(JsonPacket::Create {
|
|
||||||
id: room_id.clone(),
|
|
||||||
});
|
|
||||||
|
|
||||||
// Handle the incoming WebSocket messages
|
|
||||||
let outgoing_handler = receiver.stream().map(Ok).forward(outgoing);
|
|
||||||
|
|
||||||
let incoming_handler = incoming.try_for_each(|message| {
|
|
||||||
match on_message(
|
|
||||||
&mut context,
|
|
||||||
message,
|
|
||||||
relay.clone(),
|
|
||||||
transfer_name.clone(),
|
|
||||||
is_local,
|
|
||||||
) {
|
|
||||||
Status::Exit() => {
|
|
||||||
// Send the leave room packet
|
|
||||||
context.sender.send_json_packet(JsonPacket::Leave);
|
|
||||||
println!("Transfer has completed.");
|
|
||||||
|
|
||||||
// Return an error
|
|
||||||
return future::err(Error::ConnectionClosed);
|
|
||||||
}
|
|
||||||
Status::Err(error) => {
|
|
||||||
error!("Error: {}", error);
|
|
||||||
|
|
||||||
// Return an error
|
|
||||||
return future::err(Error::ConnectionClosed);
|
|
||||||
}
|
|
||||||
_ => {}
|
|
||||||
};
|
|
||||||
|
|
||||||
future::ok(())
|
|
||||||
});
|
|
||||||
|
|
||||||
pin_mut!(incoming_handler, outgoing_handler);
|
|
||||||
|
|
||||||
// Wait for the incoming or outgoing handlers to complete
|
|
||||||
future::select(incoming_handler, outgoing_handler).await;
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use super::*;
|
|
||||||
use aes_gcm::KeyInit;
|
|
||||||
|
|
||||||
// #[test]
|
|
||||||
// fn test_on_chunk() {
|
|
||||||
// let (sender, _) = flume::bounded(1000);
|
|
||||||
// let context = Context {
|
|
||||||
// hmac: vec![],
|
|
||||||
// sender,
|
|
||||||
// key: EphemeralSecret::random(&mut OsRng),
|
|
||||||
// shared_key: None,
|
|
||||||
// files: vec![
|
|
||||||
// File {
|
|
||||||
// name: "file1.txt".to_string(),
|
|
||||||
// size: 100,
|
|
||||||
// path: "file1.txt".to_string(),
|
|
||||||
// },
|
|
||||||
// File {
|
|
||||||
// name: "file2.txt".to_string(),
|
|
||||||
// size: 100,
|
|
||||||
// path: "file2.txt".to_string(),
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// task: None,
|
|
||||||
// };
|
|
||||||
// }
|
|
||||||
#[test]
|
|
||||||
fn test_on_progress() {
|
|
||||||
let (sender, _) = flume::bounded(1000);
|
|
||||||
let context = Context {
|
|
||||||
hmac: vec![],
|
|
||||||
sender,
|
|
||||||
key: EphemeralSecret::random(&mut OsRng),
|
|
||||||
shared_key: Some(Aes128Gcm::new(Key::<Aes128Gcm>::from_slice(&[0u8; 16]))),
|
|
||||||
files: vec![
|
|
||||||
File {
|
|
||||||
name: "file1.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
path: "file1.txt".to_string(),
|
|
||||||
},
|
|
||||||
File {
|
|
||||||
name: "file2.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
path: "file2.txt".to_string(),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
task: None,
|
|
||||||
};
|
|
||||||
assert_eq!(
|
|
||||||
on_progress(
|
|
||||||
&context,
|
|
||||||
ProgressPacket {
|
|
||||||
index: 0,
|
|
||||||
progress: 50
|
|
||||||
}
|
|
||||||
),
|
|
||||||
Status::Continue()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
#[test]
|
|
||||||
fn test_on_create_room() {
|
|
||||||
let (sender, _) = flume::bounded(1000);
|
|
||||||
let context = Context {
|
|
||||||
hmac: vec![],
|
|
||||||
sender,
|
|
||||||
key: EphemeralSecret::random(&mut OsRng),
|
|
||||||
shared_key: None,
|
|
||||||
files: vec![
|
|
||||||
File {
|
|
||||||
name: "file1.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
path: "file1.txt".to_string(),
|
|
||||||
},
|
|
||||||
File {
|
|
||||||
name: "file2.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
path: "file2.txt".to_string(),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
task: None,
|
|
||||||
};
|
|
||||||
assert_eq!(
|
|
||||||
on_create_room(
|
|
||||||
&context,
|
|
||||||
"b531e87d-e51a-4507-94f4-335cbe2d32f3-Nc5skZReq7qJN7INwckyAZLWEEbxsrFfH/692tUNgkM="
|
|
||||||
.to_string(),
|
|
||||||
String::from("0.0.0.0:8000"),
|
|
||||||
String::from("Test"),
|
|
||||||
true,
|
|
||||||
),
|
|
||||||
Status::Continue()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
// #[test]
|
|
||||||
// fn test_on_join_room(){
|
|
||||||
// let (sender, _) = flume::bounded(1000);
|
|
||||||
// let mut context = Context {
|
|
||||||
// hmac: vec![],
|
|
||||||
// sender: sender,
|
|
||||||
// key: EphemeralSecret::random(&mut OsRng),
|
|
||||||
// shared_key: None,
|
|
||||||
// files: vec![
|
|
||||||
// File {
|
|
||||||
// name: "file1.txt".to_string(),
|
|
||||||
// size: 100,
|
|
||||||
// path: "file1.txt".to_string(),
|
|
||||||
// },
|
|
||||||
// File {
|
|
||||||
// name: "file2.txt".to_string(),
|
|
||||||
// size: 100,
|
|
||||||
// path: "file2.txt".to_string(),
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// task: None,
|
|
||||||
// };
|
|
||||||
// assert_eq!(on_join_room(&context, None), Status::Continue());
|
|
||||||
// }
|
|
||||||
#[test]
|
|
||||||
fn test_on_error() {
|
|
||||||
assert_eq!(
|
|
||||||
on_error("Error message".to_string()),
|
|
||||||
Status::Err("Error message".to_string())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
#[test]
|
|
||||||
fn test_on_leave_room() {
|
|
||||||
let (sender, _) = flume::bounded(1000);
|
|
||||||
let mut context = Context {
|
|
||||||
hmac: vec![],
|
|
||||||
sender,
|
|
||||||
key: EphemeralSecret::random(&mut OsRng),
|
|
||||||
shared_key: None,
|
|
||||||
files: vec![
|
|
||||||
File {
|
|
||||||
name: "file1.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
path: "file1.txt".to_string(),
|
|
||||||
},
|
|
||||||
File {
|
|
||||||
name: "file2.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
path: "file2.txt".to_string(),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
task: None,
|
|
||||||
};
|
|
||||||
assert_eq!(on_leave_room(&mut context, 5), Status::Continue());
|
|
||||||
}
|
|
||||||
#[test]
|
|
||||||
fn test_on_message() {
|
|
||||||
let (sender, _) = flume::bounded(1000);
|
|
||||||
let mut context = Context {
|
|
||||||
hmac: vec![],
|
|
||||||
sender,
|
|
||||||
key: EphemeralSecret::random(&mut OsRng),
|
|
||||||
shared_key: None,
|
|
||||||
files: vec![
|
|
||||||
File {
|
|
||||||
name: "file1.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
path: "file1.txt".to_string(),
|
|
||||||
},
|
|
||||||
File {
|
|
||||||
name: "file2.txt".to_string(),
|
|
||||||
size: 100,
|
|
||||||
path: "file2.txt".to_string(),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
task: None,
|
|
||||||
};
|
|
||||||
assert_eq!(
|
|
||||||
on_message(
|
|
||||||
&mut context,
|
|
||||||
WebSocketMessage::Text(r#"{"type":"leave","index":5}"#.to_string()),
|
|
||||||
String::from("0.0.0.0:8000"),
|
|
||||||
String::from("Test"),
|
|
||||||
true,
|
|
||||||
),
|
|
||||||
Status::Continue()
|
|
||||||
);
|
|
||||||
assert_eq!(on_message(&mut context, WebSocketMessage::Text(r#"{"type":"create","id":"b531e87d-e51a-4507-94f4-335cbe2d32f3-Nc5skZReq7qJN7INwckyAZLWEEbxsrFfH/692tUNgkM="}"#.to_string()), String::from("0.0.0.0:8000"), String::from("Test"), true), Status::Continue());
|
|
||||||
assert_eq!(
|
|
||||||
on_message(
|
|
||||||
&mut context,
|
|
||||||
WebSocketMessage::Text(
|
|
||||||
r#"{"type":"error","message":"Error Message: Test"}"#.to_string()
|
|
||||||
),
|
|
||||||
String::from("0.0.0.0:8000"),
|
|
||||||
String::from("Test"),
|
|
||||||
true
|
|
||||||
),
|
|
||||||
Status::Err("Error Message: Test".to_string())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,115 +0,0 @@
|
||||||
use hex;
|
|
||||||
use rand::{seq::SliceRandom, thread_rng};
|
|
||||||
use sha2::{Digest, Sha256};
|
|
||||||
|
|
||||||
/// Generates a random name composed of an adjective, a noun, and another noun.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A string in the format "{adjective}-{noun1}-{noun2}".
|
|
||||||
pub fn generate_random_name() -> String {
|
|
||||||
let mut rng = thread_rng();
|
|
||||||
let adjective = adjectives().choose(&mut rng).unwrap();
|
|
||||||
let noun1 = nouns1().choose(&mut rng).unwrap();
|
|
||||||
let noun2 = nouns2().choose(&mut rng).unwrap();
|
|
||||||
|
|
||||||
format!("{adjective}-{noun1}-{noun2}")
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Returns a random adjective.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `&'static str` representing an adjective.
|
|
||||||
fn adjectives() -> &'static [&'static str] {
|
|
||||||
// Define a list of adjectives.
|
|
||||||
static ADJECTIVES: &[&str] = &["funny", "smart", "creative", "friendly", "great"];
|
|
||||||
ADJECTIVES
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Returns a random noun.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `&'static str` representing a noun.
|
|
||||||
fn nouns1() -> &'static [&'static str] {
|
|
||||||
// Define a list of nouns.
|
|
||||||
static NOUNS1: &[&str] = &["dog", "cat", "flower", "tree", "house"];
|
|
||||||
NOUNS1
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Returns a random noun.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `&'static str` representing a noun.
|
|
||||||
fn nouns2() -> &'static [&'static str] {
|
|
||||||
// Define a list of nouns.
|
|
||||||
static NOUNS2: &[&str] = &["cookie", "cake", "frosting"];
|
|
||||||
NOUNS2
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Hashes a given name using SHA256 and returns the hex-encoded result.
|
|
||||||
///
|
|
||||||
/// # Parameters
|
|
||||||
///
|
|
||||||
/// * `name`: A `String` representing the name to be hashed.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `String` containing the hex-encoded hash of the name.
|
|
||||||
pub fn hash_random_name(name: String) -> String {
|
|
||||||
let hashed_name = Sha256::digest(name.as_bytes());
|
|
||||||
hex::encode(hashed_name)
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Replaces occurrences of "ws://" and "wss://" in a given address with "http://" and "https://" respectively.
|
|
||||||
///
|
|
||||||
/// # Parameters
|
|
||||||
///
|
|
||||||
/// * `address`: A `&str` representing the address to modify.
|
|
||||||
///
|
|
||||||
/// # Returns
|
|
||||||
///
|
|
||||||
/// A `String` representing the modified address.
|
|
||||||
pub fn replace_protocol(address: &str) -> String {
|
|
||||||
let mut result = address.to_string();
|
|
||||||
result = result.replace("ws://", "http://");
|
|
||||||
result = result.replace("wss://", "https://");
|
|
||||||
|
|
||||||
result
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_generate_random_name() {
|
|
||||||
let name = generate_random_name();
|
|
||||||
|
|
||||||
assert!(name.contains('-'));
|
|
||||||
assert!(name.split('-').count() == 3);
|
|
||||||
// assert!(name.is_empty());
|
|
||||||
}
|
|
||||||
#[test]
|
|
||||||
fn test_replace_protocol_replaces_ws_with_http() {
|
|
||||||
let result = replace_protocol("ws://example.com");
|
|
||||||
assert_eq!(result, "http://example.com");
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_replace_protocol_replaces_wss_with_https() {
|
|
||||||
let result = replace_protocol("wss://example.com");
|
|
||||||
assert_eq!(result, "https://example.com");
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_replace_protocol_does_not_replace_http_or_https() {
|
|
||||||
let result = replace_protocol("http://example.com");
|
|
||||||
assert_eq!(result, "http://example.com");
|
|
||||||
|
|
||||||
let result = replace_protocol("https://example.com");
|
|
||||||
assert_eq!(result, "https://example.com");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,233 +0,0 @@
|
||||||
pub mod packets {
|
|
||||||
include!(concat!(env!("OUT_DIR"), "/packets.rs"));
|
|
||||||
}
|
|
||||||
|
|
||||||
use aes_gcm::{
|
|
||||||
aead::{Aead, AeadCore},
|
|
||||||
Aes128Gcm,
|
|
||||||
};
|
|
||||||
use packets::Packet;
|
|
||||||
use prost::Message;
|
|
||||||
use rand::rngs::OsRng;
|
|
||||||
use serde::{Deserialize, Serialize};
|
|
||||||
use tokio::net::TcpStream;
|
|
||||||
use tokio_tungstenite::tungstenite::protocol::Message as WebSocketMessage;
|
|
||||||
use tokio_tungstenite::{MaybeTlsStream, WebSocketStream};
|
|
||||||
|
|
||||||
/// Represents a packet that is sent over a websocket connection.
|
|
||||||
///
|
|
||||||
/// This enum is used to represent different types of packets that can be sent over a websocket connection.
|
|
||||||
#[derive(Debug, Serialize, Deserialize)]
|
|
||||||
#[serde(tag = "type", rename_all = "camelCase")]
|
|
||||||
pub enum JsonPacket {
|
|
||||||
/// A packet to join a room.
|
|
||||||
///
|
|
||||||
/// This variant is used to request to join a room. The `id` field is used to specify the room id.
|
|
||||||
Join {
|
|
||||||
/// The id of the room to join.
|
|
||||||
id: String,
|
|
||||||
},
|
|
||||||
/// A packet to create a new room.
|
|
||||||
///
|
|
||||||
/// This variant is used to request to create a new room. The `id` field is used to specify the room id, which can be optional.
|
|
||||||
Create {
|
|
||||||
/// The id of the room to create. It can be `None` to generate a random room id.
|
|
||||||
id: Option<String>,
|
|
||||||
},
|
|
||||||
/// A packet to leave a room.
|
|
||||||
///
|
|
||||||
/// This variant is used to request to leave a room.
|
|
||||||
Leave,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Represents a response to a `JsonPacket` packet.
|
|
||||||
///
|
|
||||||
/// This enum is used to represent different types of responses to a `JsonPacket` packet.
|
|
||||||
#[derive(Debug, Serialize, Deserialize)]
|
|
||||||
#[serde(tag = "type", rename_all = "camelCase")]
|
|
||||||
pub enum JsonPacketResponse {
|
|
||||||
/// A response to a `Join` packet.
|
|
||||||
///
|
|
||||||
/// This variant is used to indicate the result of a `Join` packet. The `size` field is used to specify the number of existing users in the room.
|
|
||||||
Join {
|
|
||||||
/// The number of existing users in the room. This field is `None` if the room is empty.
|
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
|
||||||
size: Option<usize>,
|
|
||||||
},
|
|
||||||
/// A response to a `Create` packet.
|
|
||||||
///
|
|
||||||
/// This variant is used to indicate the result of a `Create` packet. The `id` field is used to specify the room id.
|
|
||||||
Create {
|
|
||||||
/// The id of the created room.
|
|
||||||
id: String,
|
|
||||||
},
|
|
||||||
/// A response to a `Leave` packet.
|
|
||||||
///
|
|
||||||
/// This variant is used to indicate the result of a `Leave` packet. The `index` field is used to specify the index of the user who left the room.
|
|
||||||
Leave {
|
|
||||||
/// The index of the user who left the room.
|
|
||||||
index: usize,
|
|
||||||
},
|
|
||||||
/// An error response.
|
|
||||||
///
|
|
||||||
/// This variant is used to indicate an error. The `message` field is used to specify the error message.
|
|
||||||
Error {
|
|
||||||
/// The error message.
|
|
||||||
message: String,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Represents the result of an operation.
|
|
||||||
///
|
|
||||||
/// This enum is used to indicate the status of an operation. It can be one of three
|
|
||||||
/// variants:
|
|
||||||
///
|
|
||||||
/// - `Continue`: Operation was successful and the client should continue.
|
|
||||||
/// - `Exit`: Operation was successful and the client should exit.
|
|
||||||
/// - `Err`: Operation encountered an error. The error message is provided in the
|
|
||||||
/// variant.
|
|
||||||
#[derive(Debug, PartialEq)]
|
|
||||||
pub enum Status {
|
|
||||||
/// Operation was successful and the client should continue.
|
|
||||||
Continue(),
|
|
||||||
/// Operation was successful and the client should exit.
|
|
||||||
Exit(),
|
|
||||||
/// Operation encountered an error. The error message is provided in the variant.
|
|
||||||
Err(String),
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Represents a sender of JSON packets.
|
|
||||||
///
|
|
||||||
/// This trait is used to send JSON packets to a `JsonPacket` receiver. The
|
|
||||||
/// `send_json_packet` method is used to send a `JsonPacket` packet.
|
|
||||||
pub trait JsonPacketSender {
|
|
||||||
/// Sends a `JsonPacket` packet to a receiver.
|
|
||||||
///
|
|
||||||
/// This method sends a `JsonPacket` packet to a receiver. The `packet` argument
|
|
||||||
/// is the packet to send.
|
|
||||||
fn send_json_packet(&self, packet: JsonPacket);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Represents a sender of packets.
|
|
||||||
///
|
|
||||||
/// This trait is used to send packets to a receiver. The `send_packet` method is used to send
|
|
||||||
/// a plain packet, and the `send_encrypted_packet` method is used to send an encrypted packet.
|
|
||||||
pub trait PacketSender {
|
|
||||||
/// Sends a plain packet to a receiver.
|
|
||||||
///
|
|
||||||
/// This method sends a plain packet to a receiver. The `destination` argument specifies the
|
|
||||||
/// destination of the packet, and the `packet` argument is the packet to send.
|
|
||||||
fn send_packet(&self, destination: u8, packet: packets::packet::Value);
|
|
||||||
|
|
||||||
/// Sends an encrypted packet to a receiver.
|
|
||||||
///
|
|
||||||
/// This method sends an encrypted packet to a receiver. The `key` argument is the encryption
|
|
||||||
/// key to use, the `destination` argument specifies the destination of the packet, and the
|
|
||||||
/// `value` argument is the packet to send.
|
|
||||||
fn send_encrypted_packet(
|
|
||||||
&self,
|
|
||||||
key: &Option<Aes128Gcm>,
|
|
||||||
destination: u8,
|
|
||||||
value: packets::packet::Value,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Implementation of `JsonPacketSender` for `Sender` struct.
|
|
||||||
///
|
|
||||||
/// This implementation of `JsonPacketSender` for `Sender` struct provides a method
|
|
||||||
/// `send_json_packet` to send a `JsonPacket` packet.
|
|
||||||
impl JsonPacketSender for Sender {
|
|
||||||
/// Sends a `JsonPacket` packet to a receiver.
|
|
||||||
///
|
|
||||||
/// This method serializes the `JsonPacket` using `serde_json` and sends it as a
|
|
||||||
/// `WebSocketMessage::Text` to a receiver.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `packet` - The `JsonPacket` to send.
|
|
||||||
fn send_json_packet(&self, packet: JsonPacket) {
|
|
||||||
// Serialize the JsonPacket using serde_json
|
|
||||||
let serialized_packet = serde_json::to_string(&packet)
|
|
||||||
.expect("Failed to serialize JSON packet.");
|
|
||||||
|
|
||||||
// Send the serialized packet as a WebSocketMessage::Text
|
|
||||||
self.send(WebSocketMessage::Text(serialized_packet))
|
|
||||||
.expect("Failed to send JSON packet.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Implementation of `PacketSender` for `Sender` struct.
|
|
||||||
///
|
|
||||||
/// This implementation of `PacketSender` for `Sender` struct provides methods
|
|
||||||
/// to send a packet to a receiver.
|
|
||||||
impl PacketSender for Sender {
|
|
||||||
/// Sends a packet to a receiver.
|
|
||||||
///
|
|
||||||
/// This method serializes the packet and sends it as a `WebSocketMessage::Binary` to a receiver.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `destination` - The destination of the packet.
|
|
||||||
/// * `value` - The packet to send.
|
|
||||||
fn send_packet(&self, destination: u8, value: packets::packet::Value) {
|
|
||||||
// Serialize the packet
|
|
||||||
let packet = Packet { value: Some(value) };
|
|
||||||
let mut serialized_packet = packet.encode_to_vec();
|
|
||||||
|
|
||||||
// Insert the destination at the beginning of the packet
|
|
||||||
serialized_packet.insert(0, destination);
|
|
||||||
|
|
||||||
// Send the serialized packet as a WebSocketMessage::Binary
|
|
||||||
self.send(WebSocketMessage::Binary(serialized_packet))
|
|
||||||
.expect("Failed to send Packet.");
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Sends an encrypted packet to a receiver.
|
|
||||||
///
|
|
||||||
/// This method encrypts the packet using the provided key and sends it as a
|
|
||||||
/// `WebSocketMessage::Binary` to a receiver.
|
|
||||||
///
|
|
||||||
/// # Arguments
|
|
||||||
///
|
|
||||||
/// * `key` - The encryption key to use.
|
|
||||||
/// * `destination` - The destination of the packet.
|
|
||||||
/// * `value` - The packet to send.
|
|
||||||
fn send_encrypted_packet(
|
|
||||||
&self,
|
|
||||||
key: &Option<Aes128Gcm>,
|
|
||||||
destination: u8,
|
|
||||||
value: packets::packet::Value,
|
|
||||||
) {
|
|
||||||
// Serialize the packet
|
|
||||||
let packet = Packet { value: Some(value) };
|
|
||||||
|
|
||||||
// Generate a nonce for encryption
|
|
||||||
let nonce = Aes128Gcm::generate_nonce(&mut OsRng);
|
|
||||||
|
|
||||||
// Serialize the packet
|
|
||||||
let plaintext = packet.encode_to_vec();
|
|
||||||
|
|
||||||
// Encrypt the packet using the provided key
|
|
||||||
let mut ciphertext = key
|
|
||||||
.as_ref()
|
|
||||||
.unwrap()
|
|
||||||
.encrypt(&nonce, plaintext.as_ref())
|
|
||||||
.expect("Failed to encrypt Packet.");
|
|
||||||
|
|
||||||
// Create the serialized packet by concatenating the nonce and the ciphertext
|
|
||||||
let mut serialized_packet = nonce.to_vec();
|
|
||||||
serialized_packet.append(&mut ciphertext);
|
|
||||||
|
|
||||||
// Insert the destination at the beginning of the packet
|
|
||||||
serialized_packet.insert(0, destination);
|
|
||||||
|
|
||||||
// Send the serialized packet as a WebSocketMessage::Binary
|
|
||||||
self.send(WebSocketMessage::Binary(serialized_packet))
|
|
||||||
.expect("Failed to send encrypted Packet.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub type Sender = flume::Sender<WebSocketMessage>;
|
|
||||||
|
|
||||||
pub type Socket = WebSocketStream<MaybeTlsStream<TcpStream>>;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "caesar-transfer-iu"
|
|
||||||
version = "0.3.2"
|
|
||||||
edition = "2021"
|
|
||||||
authors = ["Manuel Keidel, Patryk Hegenberg, Krzysztof Stankiewicz"]
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "caesar-transfer-iu"
|
|
||||||
path = "src/main.rs"
|
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
caesar-core = { path = "../caesar-core" }
|
|
||||||
shuttle-axum = { version = "0.44.0" }
|
|
||||||
shuttle-runtime = { version = "0.44.0" }
|
|
||||||
axum = { version = "0.7.5", features = ["ws"] }
|
|
||||||
axum-client-ip = "0.6.0"
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
use axum::{
|
|
||||||
routing::{get, post, put},
|
|
||||||
Router,
|
|
||||||
};
|
|
||||||
use axum_client_ip::SecureClientIpSource;
|
|
||||||
use caesar_core::relay::appstate::AppState;
|
|
||||||
use caesar_core::relay::server::download_info;
|
|
||||||
use caesar_core::relay::server::download_success;
|
|
||||||
use caesar_core::relay::server::upload_info;
|
|
||||||
use caesar_core::relay::server::ws_handler;
|
|
||||||
use shuttle_axum::ShuttleAxum;
|
|
||||||
|
|
||||||
|
|
||||||
/// The main function that sets up the Axum application.
|
|
||||||
///
|
|
||||||
/// This function creates a new server data structure and sets up the application routes.
|
|
||||||
/// The routes include "/ws" for the websocket handler, "/upload" for the upload info handler,
|
|
||||||
/// "/download/:name" for the download info handler, and "/download_success/:name" for the download success handler.
|
|
||||||
/// The routes are associated with the corresponding handlers.
|
|
||||||
///
|
|
||||||
/// The application state is wrapped around the routes using the `with_state` method.
|
|
||||||
/// The client IP source is added as an extension using the `layer` method.
|
|
||||||
///
|
|
||||||
/// The function returns a `ShuttleAxum` result.
|
|
||||||
#[shuttle_runtime::main]
|
|
||||||
async fn axum() -> ShuttleAxum {
|
|
||||||
// Create a new server data structure.
|
|
||||||
let appstate = AppState::new();
|
|
||||||
|
|
||||||
// Set up the application routes.
|
|
||||||
let app = Router::new()
|
|
||||||
.route("/ws", get(ws_handler)) // Route for the websocket handler
|
|
||||||
.route("/upload", put(upload_info)) // Route for the upload info handler
|
|
||||||
.route("/download/:name", get(download_info)) // Route for the download info handler
|
|
||||||
.route("/download_success/:name", post(download_success)) // Route for the download success handler
|
|
||||||
.with_state(appstate) // Wrap the routes with the application state
|
|
||||||
.layer(SecureClientIpSource::ConnectInfo.into_extension()); // Add the client IP source as an extension
|
|
||||||
|
|
||||||
// Return the application router wrapped in a `ShuttleAxum` result.
|
|
||||||
Ok(app.into())
|
|
||||||
}
|
|
||||||
|
|
@ -1,118 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="flutter_test_gui API docs, for the Dart programming language.">
|
|
||||||
<title>flutter_test_gui - Dart API docs</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li class="self-crumb">flutter_test_gui package</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">flutter_test_gui</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div id="dartdoc-main-content" class="main-content">
|
|
||||||
<h1>404: Something's gone wrong :-(</h1>
|
|
||||||
|
|
||||||
<section class="desc">
|
|
||||||
<p>You've tried to visit a page that doesn't exist. Luckily this site
|
|
||||||
has other <a href="index.html">pages</a>.</p>
|
|
||||||
<p>If you were looking for something specific, try searching:
|
|
||||||
<form class="search-body" role="search">
|
|
||||||
<input type="text" id="search-body" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li class="self-crumb">flutter_test_gui package</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5><span class="package-name">flutter_test_gui</span> <span class="package-kind">package</span></h5>
|
|
||||||
<ol>
|
|
||||||
<li class="section-title">Libraries</li>
|
|
||||||
<li><a href="consts_consts/consts_consts-library.html">consts/consts</a></li>
|
|
||||||
<li><a href="main/main-library.html">main</a></li>
|
|
||||||
<li><a href="pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen</a></li>
|
|
||||||
<li><a href="pages_send_screen/pages_send_screen-library.html">pages/send_screen</a></li>
|
|
||||||
<li><a href="pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen</a></li>
|
|
||||||
<li><a href="pages_succes_screen/pages_succes_screen-library.html">pages/succes_screen</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen</a></li>
|
|
||||||
<li><a href="pages_waiting_screen/pages_waiting_screen-library.html">pages/waiting_screen</a></li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
[]
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="consts_consts/Constants-class.html#constructors">Constructors</a></li>
|
|
||||||
<li><a href="consts_consts/Constants/Constants.html">Constants</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title inherited">
|
|
||||||
<a href="consts_consts/Constants-class.html#instance-properties">Properties</a>
|
|
||||||
</li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="consts_consts/Constants-class.html#instance-methods">Methods</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/toString.html">toString</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="consts_consts/Constants-class.html#operators">Operators</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/operator_equals.html">operator ==</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title"><a href="consts_consts/Constants-class.html#constants">Constants</a></li>
|
|
||||||
<li><a href="consts_consts/Constants/backColor-constant.html">backColor</a></li>
|
|
||||||
<li><a href="consts_consts/Constants/highlightColor-constant.html">highlightColor</a></li>
|
|
||||||
<li><a href="consts_consts/Constants/textColor-constant.html">textColor</a></li>
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,259 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the Constants class from the consts library, for the Dart programming language.">
|
|
||||||
<title>Constants class - consts library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../consts_consts/consts_consts-library.html">consts/consts.dart</a></li>
|
|
||||||
<li class="self-crumb">Constants class</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">Constants</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="consts_consts/consts_consts-library-sidebar.html"
|
|
||||||
data-below-sidebar="consts_consts/Constants-class-sidebar.html">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-class">Constants</span> class
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constructors">
|
|
||||||
<h2>Constructors</h2>
|
|
||||||
|
|
||||||
<dl class="constructor-summary-list">
|
|
||||||
<dt id="Constants" class="callable">
|
|
||||||
<span class="name"><a href="../consts_consts/Constants/Constants.html">Constants</a></span><span class="signature">()</span>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="instance-properties">
|
|
||||||
<h2>Properties</h2>
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="hashCode" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The hash code for this object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="runtimeType" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A representation of the runtime type of the object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="instance-methods">
|
|
||||||
<h2>Methods</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="noSuchMethod" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
|
|
||||||
<span class="returntype parameter">→ dynamic</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Invoked when a nonexistent method or property is accessed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toString" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/toString.html">toString</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A string representation of this object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="operators">
|
|
||||||
<h2>Operators</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="operator ==" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The equality operator.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constants">
|
|
||||||
<h2>Constants</h2>
|
|
||||||
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="backColor" class="constant">
|
|
||||||
<span class="name "><a href="../consts_consts/Constants/backColor-constant.html">backColor</a></span>
|
|
||||||
<span class="signature">→ const <a href="https://api.flutter.dev/flutter/dart-ui/Color-class.html">Color</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="highlightColor" class="constant">
|
|
||||||
<span class="name "><a href="../consts_consts/Constants/highlightColor-constant.html">highlightColor</a></span>
|
|
||||||
<span class="signature">→ const <a href="https://api.flutter.dev/flutter/dart-ui/Color-class.html">Color</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="textColor" class="constant">
|
|
||||||
<span class="name "><a href="../consts_consts/Constants/textColor-constant.html">textColor</a></span>
|
|
||||||
<span class="signature">→ const <a href="https://api.flutter.dev/flutter/dart-ui/Color-class.html">Color</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../consts_consts/consts_consts-library.html">consts</a></li>
|
|
||||||
<li class="self-crumb">Constants class</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>consts library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,120 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the Constants constructor from Class Constants from the consts library, for the Dart programming language.">
|
|
||||||
<title>Constants constructor - Constants - consts library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../consts_consts/consts_consts-library.html">consts/consts.dart</a></li>
|
|
||||||
<li><a href="../../consts_consts/Constants-class.html">Constants</a></li>
|
|
||||||
<li class="self-crumb">Constants constructor</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">Constants</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="consts_consts/Constants-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-constructor">Constants</span> constructor
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<span class="name ">Constants</span>(<wbr>)
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../consts_consts/consts_consts-library.html">consts</a></li>
|
|
||||||
<li><a href="../../consts_consts/Constants-class.html">Constants</a></li>
|
|
||||||
<li class="self-crumb">Constants constructor</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>Constants class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the backColor constant from the Constants class, for the Dart programming language.">
|
|
||||||
<title>backColor constant - Constants class - consts library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../consts_consts/consts_consts-library.html">consts/consts.dart</a></li>
|
|
||||||
<li><a href="../../consts_consts/Constants-class.html">Constants</a></li>
|
|
||||||
<li class="self-crumb">backColor constant</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">backColor</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="consts_consts/Constants-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">backColor</span> constant
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-ui/Color-class.html">Color</a>
|
|
||||||
const <span class="name ">backColor</span>
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">static const backColor = Color(0xFF303446);</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../consts_consts/consts_consts-library.html">consts</a></li>
|
|
||||||
<li><a href="../../consts_consts/Constants-class.html">Constants</a></li>
|
|
||||||
<li class="self-crumb">backColor constant</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>Constants class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the highlightColor constant from the Constants class, for the Dart programming language.">
|
|
||||||
<title>highlightColor constant - Constants class - consts library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../consts_consts/consts_consts-library.html">consts/consts.dart</a></li>
|
|
||||||
<li><a href="../../consts_consts/Constants-class.html">Constants</a></li>
|
|
||||||
<li class="self-crumb">highlightColor constant</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">highlightColor</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="consts_consts/Constants-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">highlightColor</span> constant
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-ui/Color-class.html">Color</a>
|
|
||||||
const <span class="name ">highlightColor</span>
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">static const highlightColor = Color(0xFF8caaee);</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../consts_consts/consts_consts-library.html">consts</a></li>
|
|
||||||
<li><a href="../../consts_consts/Constants-class.html">Constants</a></li>
|
|
||||||
<li class="self-crumb">highlightColor constant</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>Constants class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the textColor constant from the Constants class, for the Dart programming language.">
|
|
||||||
<title>textColor constant - Constants class - consts library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../consts_consts/consts_consts-library.html">consts/consts.dart</a></li>
|
|
||||||
<li><a href="../../consts_consts/Constants-class.html">Constants</a></li>
|
|
||||||
<li class="self-crumb">textColor constant</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">textColor</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="consts_consts/Constants-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">textColor</span> constant
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-ui/Color-class.html">Color</a>
|
|
||||||
const <span class="name ">textColor</span>
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">static const textColor = Color(0xFFc6d0f5);</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../consts_consts/consts_consts-library.html">consts</a></li>
|
|
||||||
<li><a href="../../consts_consts/Constants-class.html">Constants</a></li>
|
|
||||||
<li class="self-crumb">textColor constant</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>Constants class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
<ol>
|
|
||||||
<li class="section-title"><a href="consts_consts/consts_consts-library.html#classes">Classes</a></li>
|
|
||||||
<li><a href="consts_consts/Constants-class.html">Constants</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,152 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="consts library API docs, for the Dart programming language.">
|
|
||||||
<title>consts library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">consts/consts.dart</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">consts</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar=""
|
|
||||||
data-below-sidebar="consts_consts/consts_consts-library-sidebar.html">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
|
|
||||||
|
|
||||||
<h1>
|
|
||||||
<span class="kind-library">consts/consts</span>
|
|
||||||
library
|
|
||||||
|
|
||||||
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="classes">
|
|
||||||
<h2>Classes</h2>
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt id="Constants">
|
|
||||||
<span class="name "><a href="../consts_consts/Constants-class.html">Constants</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">consts/consts.dart</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5><span class="package-name">flutter_test_gui</span> <span class="package-kind">package</span></h5>
|
|
||||||
<ol>
|
|
||||||
<li class="section-title">Libraries</li>
|
|
||||||
<li><a href="../consts_consts/consts_consts-library.html">consts/consts</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen</a></li>
|
|
||||||
<li><a href="../pages_send_screen/pages_send_screen-library.html">pages/send_screen</a></li>
|
|
||||||
<li><a href="../pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen</a></li>
|
|
||||||
<li><a href="../pages_succes_screen/pages_succes_screen-library.html">pages/succes_screen</a></li>
|
|
||||||
<li><a href="../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen</a></li>
|
|
||||||
<li><a href="../pages_waiting_screen/pages_waiting_screen-library.html">pages/waiting_screen</a></li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
<h5>consts library</h5>
|
|
||||||
</div><!--/sidebar-offcanvas-right-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,185 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="flutter_test_gui API docs, for the Dart programming language.">
|
|
||||||
<title>flutter_test_gui - Dart API docs</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li class="self-crumb">flutter_test_gui package</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">flutter_test_gui</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div id="dartdoc-main-content" class="main-content">
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<h1 id="flutter_test_gui">flutter_test_gui</h1>
|
|
||||||
<p>A new Flutter project.</p>
|
|
||||||
<h2 id="getting-started">Getting Started</h2>
|
|
||||||
<p>This project is a starting point for a Flutter application.</p>
|
|
||||||
<p>A few resources to get you started if this is your first Flutter project:</p>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://docs.flutter.dev/get-started/codelab">Lab: Write your first Flutter app</a></li>
|
|
||||||
<li><a href="https://docs.flutter.dev/cookbook">Cookbook: Useful Flutter samples</a></li>
|
|
||||||
</ul>
|
|
||||||
<p>For help getting started with Flutter development, view the
|
|
||||||
<a href="https://docs.flutter.dev/">online documentation</a>, which offers tutorials,
|
|
||||||
samples, guidance on mobile development, and a full API reference.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary">
|
|
||||||
<h2>Libraries</h2>
|
|
||||||
<dl>
|
|
||||||
<dt id="consts">
|
|
||||||
<span class="name"><a href="consts_consts/consts_consts-library.html">consts/consts</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="main">
|
|
||||||
<span class="name"><a href="main/main-library.html">main</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="receive_screen">
|
|
||||||
<span class="name"><a href="pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="send_screen">
|
|
||||||
<span class="name"><a href="pages_send_screen/pages_send_screen-library.html">pages/send_screen</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="settings_screen">
|
|
||||||
<span class="name"><a href="pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="succes_screen">
|
|
||||||
<span class="name"><a href="pages_succes_screen/pages_succes_screen-library.html">pages/succes_screen</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="transfer_screen">
|
|
||||||
<span class="name"><a href="pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="waiting_screen">
|
|
||||||
<span class="name"><a href="pages_waiting_screen/pages_waiting_screen-library.html">pages/waiting_screen</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li class="self-crumb">flutter_test_gui package</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5 class="hidden-xs"><span class="package-name">flutter_test_gui</span> <span class="package-kind">package</span></h5>
|
|
||||||
<ol>
|
|
||||||
<li class="section-title">Libraries</li>
|
|
||||||
<li><a href="consts_consts/consts_consts-library.html">consts/consts</a></li>
|
|
||||||
<li><a href="main/main-library.html">main</a></li>
|
|
||||||
<li><a href="pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen</a></li>
|
|
||||||
<li><a href="pages_send_screen/pages_send_screen-library.html">pages/send_screen</a></li>
|
|
||||||
<li><a href="pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen</a></li>
|
|
||||||
<li><a href="pages_succes_screen/pages_succes_screen-library.html">pages/succes_screen</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen</a></li>
|
|
||||||
<li><a href="pages_waiting_screen/pages_waiting_screen-library.html">pages/waiting_screen</a></li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,35 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="main/MyApp-class.html#constructors">Constructors</a></li>
|
|
||||||
<li><a href="main/MyApp/MyApp.html">MyApp</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title inherited">
|
|
||||||
<a href="main/MyApp-class.html#instance-properties">Properties</a>
|
|
||||||
</li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="main/MyApp-class.html#instance-methods">Methods</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></li>
|
|
||||||
<li><a href="main/MyApp/createState.html">createState</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="main/MyApp-class.html#operators">Operators</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,364 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the MyApp class from the main library, for the Dart programming language.">
|
|
||||||
<title>MyApp class - main library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main.dart</a></li>
|
|
||||||
<li class="self-crumb">MyApp class</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">MyApp</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="main/main-library-sidebar.html"
|
|
||||||
data-below-sidebar="main/MyApp-class-sidebar.html">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-class">MyApp</span> class
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>The root widget of the application.</p>
|
|
||||||
<p>It sets up the material design theme and provides the home page.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<dl class="dl-horizontal">
|
|
||||||
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<ul class="gt-separated dark clazz-relationships">
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree-class.html">DiagnosticableTree</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html">StatefulWidget</a></li>
|
|
||||||
<li>MyApp</li>
|
|
||||||
</ul>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constructors">
|
|
||||||
<h2>Constructors</h2>
|
|
||||||
|
|
||||||
<dl class="constructor-summary-list">
|
|
||||||
<dt id="MyApp" class="callable">
|
|
||||||
<span class="name"><a href="../main/MyApp/MyApp.html">MyApp</a></span><span class="signature">(<span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>}</span>)</span>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates a new instance of <a href="../main/MyApp-class.html">MyApp</a>.
|
|
||||||
<div class="constructor-modifier features">const</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="instance-properties">
|
|
||||||
<h2>Properties</h2>
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="hashCode" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The hash code for this object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="key" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Controls how one widget replaces another widget in the tree.
|
|
||||||
<div class="features"><span class="feature">final</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="runtimeType" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A representation of the runtime type of the object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-methods">
|
|
||||||
<h2>Methods</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="createElement" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Creates a <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a> to manage this widget's location in the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="createState" class="callable">
|
|
||||||
<span class="name"><a href="../main/MyApp/createState.html">createState</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a><span class="signature"><<wbr><span class="type-parameter"><a href="../main/MyApp-class.html">MyApp</a></span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates the mutable state for this widget at a given location in the tree.
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugDescribeChildren" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a list of <code>DiagnosticsNode</code> objects describing this node's
|
|
||||||
children.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugFillProperties" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></span><span class="signature">(<wbr><span class="parameter" id="debugFillProperties-param-properties"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticPropertiesBuilder-class.html">DiagnosticPropertiesBuilder</a></span> <span class="parameter-name">properties</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Add additional properties associated with the node.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="noSuchMethod" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
|
|
||||||
<span class="returntype parameter">→ dynamic</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Invoked when a nonexistent method or property is accessed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toDiagnosticsNode" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></span><span class="signature">(<wbr><span class="parameter" id="toDiagnosticsNode-param-name">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">name</span>, </span><span class="parameter" id="toDiagnosticsNode-param-style"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsTreeStyle.html">DiagnosticsTreeStyle</a>?</span> <span class="parameter-name">style</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a debug representation of the object that is used by debugging
|
|
||||||
tools and by <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode/toStringDeep.html">DiagnosticsNode.toStringDeep</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toString" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></span><span class="signature">(<wbr><span class="parameter" id="toString-param-minLevel">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.info</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A string representation of this object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringDeep" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></span><span class="signature">(<wbr><span class="parameter" id="toStringDeep-param-prefixLineOne">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">prefixLineOne</span> = <span class="default-value">''</span>, </span><span class="parameter" id="toStringDeep-param-prefixOtherLines"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">prefixOtherLines</span>, </span><span class="parameter" id="toStringDeep-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a string representation of this node and its descendants.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShallow" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></span><span class="signature">(<wbr><span class="parameter" id="toStringShallow-param-joiner">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">joiner</span> = <span class="default-value">', '</span>, </span><span class="parameter" id="toStringShallow-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a one-line detailed description of the object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShort" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A short, textual description of this widget.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="operators">
|
|
||||||
<h2>Operators</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="operator ==" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The equality operator.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main</a></li>
|
|
||||||
<li class="self-crumb">MyApp class</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>main library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the MyApp constructor from Class MyApp from the main library, for the Dart programming language.">
|
|
||||||
<title>MyApp constructor - MyApp - main library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../main/main-library.html">main.dart</a></li>
|
|
||||||
<li><a href="../../main/MyApp-class.html">MyApp</a></li>
|
|
||||||
<li class="self-crumb">MyApp const constructor</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">MyApp</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="main/MyApp-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-constructor">MyApp</span> constructor
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
const
|
|
||||||
<span class="name ">MyApp</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>}</span></li>
|
|
||||||
</ol>)
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates a new instance of <a href="../../main/MyApp-class.html">MyApp</a>.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">const MyApp({super.key});</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../../main/MyApp-class.html">MyApp</a></li>
|
|
||||||
<li class="self-crumb">MyApp const constructor</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>MyApp class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,149 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the createState method from the MyApp class, for the Dart programming language.">
|
|
||||||
<title>createState method - MyApp class - main library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../main/main-library.html">main.dart</a></li>
|
|
||||||
<li><a href="../../main/MyApp-class.html">MyApp</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">createState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="main/MyApp-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">createState</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<ol class="annotation-list">
|
|
||||||
<li>@<a href="https://api.flutter.dev/flutter/dart-core/override-constant.html">override</a></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="returntype"><a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a><span class="signature"><<wbr><span class="type-parameter"><a href="../../main/MyApp-class.html">MyApp</a></span>></span></span>
|
|
||||||
<span class="name ">createState</span>(<wbr>)
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates the mutable state for this widget at a given location in the tree.</p>
|
|
||||||
<p>Subclasses should override this method to return a newly created
|
|
||||||
instance of their associated <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> subclass:</p>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
State<SomeWidget> createState() => _SomeWidgetState();
|
|
||||||
</code></pre>
|
|
||||||
<p>The framework can call this method multiple times over the lifetime of
|
|
||||||
a <code>StatefulWidget</code>. For example, if the widget is inserted into the tree
|
|
||||||
in multiple locations, the framework will create a separate <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object
|
|
||||||
for each location. Similarly, if the widget is removed from the tree and
|
|
||||||
later inserted into the tree again, the framework will call <a href="../../main/MyApp/createState.html">createState</a>
|
|
||||||
again to create a fresh <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object, simplifying the lifecycle of
|
|
||||||
<a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> objects.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
State<MyApp> createState() => _MyAppState();</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../../main/MyApp-class.html">MyApp</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>MyApp class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="main/MyHomePage-class.html#constructors">Constructors</a></li>
|
|
||||||
<li><a href="main/MyHomePage/MyHomePage.html">MyHomePage</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title">
|
|
||||||
<a href="main/MyHomePage-class.html#instance-properties">Properties</a>
|
|
||||||
</li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
||||||
<li><a href="main/MyHomePage/title.html">title</a></li>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="main/MyHomePage-class.html#instance-methods">Methods</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></li>
|
|
||||||
<li><a href="main/MyHomePage/createState.html">createState</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="main/MyHomePage-class.html#operators">Operators</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,376 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the MyHomePage class from the main library, for the Dart programming language.">
|
|
||||||
<title>MyHomePage class - main library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main.dart</a></li>
|
|
||||||
<li class="self-crumb">MyHomePage class</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">MyHomePage</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="main/main-library-sidebar.html"
|
|
||||||
data-below-sidebar="main/MyHomePage-class-sidebar.html">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-class">MyHomePage</span> class
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>The root widget of the application that represents the home page.</p>
|
|
||||||
<p>It sets up the material design theme and provides the home page.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<dl class="dl-horizontal">
|
|
||||||
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<ul class="gt-separated dark clazz-relationships">
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree-class.html">DiagnosticableTree</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html">StatefulWidget</a></li>
|
|
||||||
<li>MyHomePage</li>
|
|
||||||
</ul>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constructors">
|
|
||||||
<h2>Constructors</h2>
|
|
||||||
|
|
||||||
<dl class="constructor-summary-list">
|
|
||||||
<dt id="MyHomePage" class="callable">
|
|
||||||
<span class="name"><a href="../main/MyHomePage/MyHomePage.html">MyHomePage</a></span><span class="signature">(<span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>, </span><span class="parameter" id="-param-title"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">title</span>}</span>)</span>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates a new instance of <a href="../main/MyHomePage-class.html">MyHomePage</a>.
|
|
||||||
<div class="constructor-modifier features">const</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-properties">
|
|
||||||
<h2>Properties</h2>
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="hashCode" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The hash code for this object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="key" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Controls how one widget replaces another widget in the tree.
|
|
||||||
<div class="features"><span class="feature">final</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="runtimeType" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A representation of the runtime type of the object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="title" class="property">
|
|
||||||
<span class="name"><a href="../main/MyHomePage/title.html">title</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
The title of the home page.
|
|
||||||
<div class="features"><span class="feature">final</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-methods">
|
|
||||||
<h2>Methods</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="createElement" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Creates a <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a> to manage this widget's location in the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="createState" class="callable">
|
|
||||||
<span class="name"><a href="../main/MyHomePage/createState.html">createState</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a><span class="signature"><<wbr><span class="type-parameter"><a href="../main/MyHomePage-class.html">MyHomePage</a></span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates the mutable state for this widget at a given location in the tree.
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugDescribeChildren" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a list of <code>DiagnosticsNode</code> objects describing this node's
|
|
||||||
children.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugFillProperties" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></span><span class="signature">(<wbr><span class="parameter" id="debugFillProperties-param-properties"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticPropertiesBuilder-class.html">DiagnosticPropertiesBuilder</a></span> <span class="parameter-name">properties</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Add additional properties associated with the node.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="noSuchMethod" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
|
|
||||||
<span class="returntype parameter">→ dynamic</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Invoked when a nonexistent method or property is accessed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toDiagnosticsNode" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></span><span class="signature">(<wbr><span class="parameter" id="toDiagnosticsNode-param-name">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">name</span>, </span><span class="parameter" id="toDiagnosticsNode-param-style"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsTreeStyle.html">DiagnosticsTreeStyle</a>?</span> <span class="parameter-name">style</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a debug representation of the object that is used by debugging
|
|
||||||
tools and by <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode/toStringDeep.html">DiagnosticsNode.toStringDeep</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toString" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></span><span class="signature">(<wbr><span class="parameter" id="toString-param-minLevel">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.info</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A string representation of this object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringDeep" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></span><span class="signature">(<wbr><span class="parameter" id="toStringDeep-param-prefixLineOne">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">prefixLineOne</span> = <span class="default-value">''</span>, </span><span class="parameter" id="toStringDeep-param-prefixOtherLines"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">prefixOtherLines</span>, </span><span class="parameter" id="toStringDeep-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a string representation of this node and its descendants.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShallow" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></span><span class="signature">(<wbr><span class="parameter" id="toStringShallow-param-joiner">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">joiner</span> = <span class="default-value">', '</span>, </span><span class="parameter" id="toStringShallow-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a one-line detailed description of the object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShort" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A short, textual description of this widget.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="operators">
|
|
||||||
<h2>Operators</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="operator ==" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The equality operator.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main</a></li>
|
|
||||||
<li class="self-crumb">MyHomePage class</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>main library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,133 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the MyHomePage constructor from Class MyHomePage from the main library, for the Dart programming language.">
|
|
||||||
<title>MyHomePage constructor - MyHomePage - main library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../main/main-library.html">main.dart</a></li>
|
|
||||||
<li><a href="../../main/MyHomePage-class.html">MyHomePage</a></li>
|
|
||||||
<li class="self-crumb">MyHomePage const constructor</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">MyHomePage</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="main/MyHomePage-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-constructor">MyHomePage</span> constructor
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
const
|
|
||||||
<span class="name ">MyHomePage</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>, </span></li>
|
|
||||||
<li><span class="parameter" id="-param-title"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">title</span>}</span></li>
|
|
||||||
</ol>)
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates a new instance of <a href="../../main/MyHomePage-class.html">MyHomePage</a>.</p>
|
|
||||||
<p>The <a href="../../main/MyHomePage/title.html">title</a> argument is the title of the home page.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">const MyHomePage({
|
|
||||||
super.key,
|
|
||||||
required this.title,
|
|
||||||
});</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../../main/MyHomePage-class.html">MyHomePage</a></li>
|
|
||||||
<li class="self-crumb">MyHomePage const constructor</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>MyHomePage class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,149 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the createState method from the MyHomePage class, for the Dart programming language.">
|
|
||||||
<title>createState method - MyHomePage class - main library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../main/main-library.html">main.dart</a></li>
|
|
||||||
<li><a href="../../main/MyHomePage-class.html">MyHomePage</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">createState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="main/MyHomePage-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">createState</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<ol class="annotation-list">
|
|
||||||
<li>@<a href="https://api.flutter.dev/flutter/dart-core/override-constant.html">override</a></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="returntype"><a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a><span class="signature"><<wbr><span class="type-parameter"><a href="../../main/MyHomePage-class.html">MyHomePage</a></span>></span></span>
|
|
||||||
<span class="name ">createState</span>(<wbr>)
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates the mutable state for this widget at a given location in the tree.</p>
|
|
||||||
<p>Subclasses should override this method to return a newly created
|
|
||||||
instance of their associated <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> subclass:</p>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
State<SomeWidget> createState() => _SomeWidgetState();
|
|
||||||
</code></pre>
|
|
||||||
<p>The framework can call this method multiple times over the lifetime of
|
|
||||||
a <code>StatefulWidget</code>. For example, if the widget is inserted into the tree
|
|
||||||
in multiple locations, the framework will create a separate <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object
|
|
||||||
for each location. Similarly, if the widget is removed from the tree and
|
|
||||||
later inserted into the tree again, the framework will call <a href="../../main/MyHomePage/createState.html">createState</a>
|
|
||||||
again to create a fresh <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object, simplifying the lifecycle of
|
|
||||||
<a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> objects.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
State<MyHomePage> createState() => _MyHomePageState();</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../../main/MyHomePage-class.html">MyHomePage</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>MyHomePage class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the title property from the MyHomePage class, for the Dart programming language.">
|
|
||||||
<title>title property - MyHomePage class - main library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../main/main-library.html">main.dart</a></li>
|
|
||||||
<li><a href="../../main/MyHomePage-class.html">MyHomePage</a></li>
|
|
||||||
<li class="self-crumb">title property</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">title</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="main/MyHomePage-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">title</span> property
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>
|
|
||||||
<span class="name ">title</span>
|
|
||||||
<div class="features"><span class="feature">final</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>The title of the home page.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">final String title;</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../../main/MyHomePage-class.html">MyHomePage</a></li>
|
|
||||||
<li class="self-crumb">title property</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>MyHomePage class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
<ol>
|
|
||||||
<li class="section-title"><a href="main/main-library.html#classes">Classes</a></li>
|
|
||||||
<li><a href="main/MyApp-class.html">MyApp</a></li>
|
|
||||||
<li><a href="main/MyHomePage-class.html">MyHomePage</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title"><a href="main/main-library.html#functions">Functions</a></li>
|
|
||||||
<li><a href="main/main.html">main</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,179 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="main library API docs, for the Dart programming language.">
|
|
||||||
<title>main library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">main.dart</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">main</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar=""
|
|
||||||
data-below-sidebar="main/main-library-sidebar.html">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
|
|
||||||
|
|
||||||
<h1>
|
|
||||||
<span class="kind-library">main</span>
|
|
||||||
library
|
|
||||||
|
|
||||||
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="classes">
|
|
||||||
<h2>Classes</h2>
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt id="MyApp">
|
|
||||||
<span class="name "><a href="../main/MyApp-class.html">MyApp</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
The root widget of the application.
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="MyHomePage">
|
|
||||||
<span class="name "><a href="../main/MyHomePage-class.html">MyHomePage</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
The root widget of the application that represents the home page.
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="functions">
|
|
||||||
<h2>Functions</h2>
|
|
||||||
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="main" class="callable">
|
|
||||||
<span class="name"><a href="../main/main.html">main</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-async/Future-class.html">Future</a><span class="signature"><<wbr><span class="type-parameter">void</span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Main entrypoint of the application.
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">main.dart</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5><span class="package-name">flutter_test_gui</span> <span class="package-kind">package</span></h5>
|
|
||||||
<ol>
|
|
||||||
<li class="section-title">Libraries</li>
|
|
||||||
<li><a href="../consts_consts/consts_consts-library.html">consts/consts</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen</a></li>
|
|
||||||
<li><a href="../pages_send_screen/pages_send_screen-library.html">pages/send_screen</a></li>
|
|
||||||
<li><a href="../pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen</a></li>
|
|
||||||
<li><a href="../pages_succes_screen/pages_succes_screen-library.html">pages/succes_screen</a></li>
|
|
||||||
<li><a href="../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen</a></li>
|
|
||||||
<li><a href="../pages_waiting_screen/pages_waiting_screen-library.html">pages/waiting_screen</a></li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
<h5>main library</h5>
|
|
||||||
</div><!--/sidebar-offcanvas-right-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,166 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the main function from the main library, for the Dart programming language.">
|
|
||||||
<title>main function - main library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main.dart</a></li>
|
|
||||||
<li class="self-crumb">main function</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">main</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="main/main-library-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-function">main</span> function
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
|
|
||||||
<span class="returntype"><a href="https://api.flutter.dev/flutter/dart-async/Future-class.html">Future</a><span class="signature"><<wbr><span class="type-parameter">void</span>></span></span>
|
|
||||||
<span class="name ">main</span>(<wbr>)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Main entrypoint of the application.</p>
|
|
||||||
<p>This function is called when the application starts. It initializes the
|
|
||||||
Rust library, sets up the application widget, and shows the window.</p>
|
|
||||||
<p>The function first calls the <code>RustLib.init</code> function to initialize the
|
|
||||||
Rust library. Then, it runs the application using the <a href="https://api.flutter.dev/flutter/widgets/runApp.html">runApp</a> function
|
|
||||||
with the <a href="../main/MyApp-class.html">MyApp</a> widget. If the application is running on Windows, Linux,
|
|
||||||
or macOS, it sets up the window properties such as the minimum size,
|
|
||||||
initial size, alignment, and title. Finally, it shows the window.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">Future<void> main() async {
|
|
||||||
// Initialize the Rust library
|
|
||||||
await RustLib.init();
|
|
||||||
|
|
||||||
// Set up the application widget
|
|
||||||
runApp(const MyApp());
|
|
||||||
|
|
||||||
// Set up the window properties if running on Windows, Linux, or macOS
|
|
||||||
if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) {
|
|
||||||
doWhenWindowReady(() {
|
|
||||||
final win = appWindow;
|
|
||||||
|
|
||||||
// Set the minimum size of the window
|
|
||||||
const initialSize = Size(720, 512);
|
|
||||||
win.minSize = initialSize;
|
|
||||||
|
|
||||||
// Set the initial size of the window
|
|
||||||
win.size = initialSize;
|
|
||||||
|
|
||||||
// Set the alignment of the window
|
|
||||||
win.alignment = Alignment.center;
|
|
||||||
|
|
||||||
// Set the title of the window
|
|
||||||
win.title = 'Caesar Test Demo';
|
|
||||||
|
|
||||||
// Show the window
|
|
||||||
win.show();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main</a></li>
|
|
||||||
<li class="self-crumb">main function</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>main library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_receive_screen/ReceiveScreen-class.html#constructors">Constructors</a></li>
|
|
||||||
<li><a href="pages_receive_screen/ReceiveScreen/ReceiveScreen.html">ReceiveScreen</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title inherited">
|
|
||||||
<a href="pages_receive_screen/ReceiveScreen-class.html#instance-properties">Properties</a>
|
|
||||||
</li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_receive_screen/ReceiveScreen-class.html#instance-methods">Methods</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></li>
|
|
||||||
<li><a href="pages_receive_screen/ReceiveScreen/createState.html">createState</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="pages_receive_screen/ReceiveScreen-class.html#operators">Operators</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,366 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the ReceiveScreen class from the receive_screen library, for the Dart programming language.">
|
|
||||||
<title>ReceiveScreen class - receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen.dart</a></li>
|
|
||||||
<li class="self-crumb">ReceiveScreen class</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">ReceiveScreen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_receive_screen/pages_receive_screen-library-sidebar.html"
|
|
||||||
data-below-sidebar="pages_receive_screen/ReceiveScreen-class-sidebar.html">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-class">ReceiveScreen</span> class
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Screen for receiving files.</p>
|
|
||||||
<p>This screen is used to accept incoming file transfers. It displays a QR
|
|
||||||
code scanner on supported platforms and allows the user to enter a
|
|
||||||
connection link manually.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<dl class="dl-horizontal">
|
|
||||||
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<ul class="gt-separated dark clazz-relationships">
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree-class.html">DiagnosticableTree</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html">StatefulWidget</a></li>
|
|
||||||
<li>ReceiveScreen</li>
|
|
||||||
</ul>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constructors">
|
|
||||||
<h2>Constructors</h2>
|
|
||||||
|
|
||||||
<dl class="constructor-summary-list">
|
|
||||||
<dt id="ReceiveScreen" class="callable">
|
|
||||||
<span class="name"><a href="../pages_receive_screen/ReceiveScreen/ReceiveScreen.html">ReceiveScreen</a></span><span class="signature">(<span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>}</span>)</span>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates a new instance of the receive screen.
|
|
||||||
<div class="constructor-modifier features">const</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="instance-properties">
|
|
||||||
<h2>Properties</h2>
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="hashCode" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The hash code for this object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="key" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Controls how one widget replaces another widget in the tree.
|
|
||||||
<div class="features"><span class="feature">final</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="runtimeType" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A representation of the runtime type of the object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-methods">
|
|
||||||
<h2>Methods</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="createElement" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Creates a <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a> to manage this widget's location in the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="createState" class="callable">
|
|
||||||
<span class="name"><a href="../pages_receive_screen/ReceiveScreen/createState.html">createState</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates the mutable state for this widget at a given location in the tree.
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugDescribeChildren" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a list of <code>DiagnosticsNode</code> objects describing this node's
|
|
||||||
children.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugFillProperties" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></span><span class="signature">(<wbr><span class="parameter" id="debugFillProperties-param-properties"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticPropertiesBuilder-class.html">DiagnosticPropertiesBuilder</a></span> <span class="parameter-name">properties</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Add additional properties associated with the node.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="noSuchMethod" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
|
|
||||||
<span class="returntype parameter">→ dynamic</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Invoked when a nonexistent method or property is accessed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toDiagnosticsNode" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></span><span class="signature">(<wbr><span class="parameter" id="toDiagnosticsNode-param-name">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">name</span>, </span><span class="parameter" id="toDiagnosticsNode-param-style"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsTreeStyle.html">DiagnosticsTreeStyle</a>?</span> <span class="parameter-name">style</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a debug representation of the object that is used by debugging
|
|
||||||
tools and by <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode/toStringDeep.html">DiagnosticsNode.toStringDeep</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toString" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></span><span class="signature">(<wbr><span class="parameter" id="toString-param-minLevel">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.info</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A string representation of this object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringDeep" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></span><span class="signature">(<wbr><span class="parameter" id="toStringDeep-param-prefixLineOne">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">prefixLineOne</span> = <span class="default-value">''</span>, </span><span class="parameter" id="toStringDeep-param-prefixOtherLines"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">prefixOtherLines</span>, </span><span class="parameter" id="toStringDeep-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a string representation of this node and its descendants.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShallow" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></span><span class="signature">(<wbr><span class="parameter" id="toStringShallow-param-joiner">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">joiner</span> = <span class="default-value">', '</span>, </span><span class="parameter" id="toStringShallow-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a one-line detailed description of the object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShort" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A short, textual description of this widget.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="operators">
|
|
||||||
<h2>Operators</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="operator ==" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The equality operator.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_receive_screen/pages_receive_screen-library.html">receive_screen</a></li>
|
|
||||||
<li class="self-crumb">ReceiveScreen class</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>receive_screen library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the ReceiveScreen constructor from Class ReceiveScreen from the receive_screen library, for the Dart programming language.">
|
|
||||||
<title>ReceiveScreen constructor - ReceiveScreen - receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreen-class.html">ReceiveScreen</a></li>
|
|
||||||
<li class="self-crumb">ReceiveScreen const constructor</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">ReceiveScreen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_receive_screen/ReceiveScreen-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-constructor">ReceiveScreen</span> constructor
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
const
|
|
||||||
<span class="name ">ReceiveScreen</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>}</span></li>
|
|
||||||
</ol>)
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates a new instance of the receive screen.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">const ReceiveScreen({super.key});</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">receive_screen</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreen-class.html">ReceiveScreen</a></li>
|
|
||||||
<li class="self-crumb">ReceiveScreen const constructor</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>ReceiveScreen class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,149 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the createState method from the ReceiveScreen class, for the Dart programming language.">
|
|
||||||
<title>createState method - ReceiveScreen class - receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreen-class.html">ReceiveScreen</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">createState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_receive_screen/ReceiveScreen-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">createState</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<ol class="annotation-list">
|
|
||||||
<li>@<a href="https://api.flutter.dev/flutter/dart-core/override-constant.html">override</a></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="returntype"><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></span>
|
|
||||||
<span class="name ">createState</span>(<wbr>)
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates the mutable state for this widget at a given location in the tree.</p>
|
|
||||||
<p>Subclasses should override this method to return a newly created
|
|
||||||
instance of their associated <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> subclass:</p>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
State<SomeWidget> createState() => _SomeWidgetState();
|
|
||||||
</code></pre>
|
|
||||||
<p>The framework can call this method multiple times over the lifetime of
|
|
||||||
a <code>StatefulWidget</code>. For example, if the widget is inserted into the tree
|
|
||||||
in multiple locations, the framework will create a separate <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object
|
|
||||||
for each location. Similarly, if the widget is removed from the tree and
|
|
||||||
later inserted into the tree again, the framework will call <a href="../../pages_receive_screen/ReceiveScreen/createState.html">createState</a>
|
|
||||||
again to create a fresh <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object, simplifying the lifecycle of
|
|
||||||
<a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> objects.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
ReceiveScreenState createState() => ReceiveScreenState();</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">receive_screen</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreen-class.html">ReceiveScreen</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>ReceiveScreen class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_receive_screen/ReceiveScreenState-class.html#constructors">Constructors</a></li>
|
|
||||||
<li><a href="pages_receive_screen/ReceiveScreenState/ReceiveScreenState.html">ReceiveScreenState</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title">
|
|
||||||
<a href="pages_receive_screen/ReceiveScreenState-class.html#instance-properties">Properties</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="pages_receive_screen/ReceiveScreenState/appOrigin.html">appOrigin</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/context.html">context</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a></li>
|
|
||||||
<li><a href="pages_receive_screen/ReceiveScreenState/inputValue.html">inputValue</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/mounted.html">mounted</a></li>
|
|
||||||
<li><a href="pages_receive_screen/ReceiveScreenState/myController.html">myController</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/widget.html">widget</a></li>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_receive_screen/ReceiveScreenState-class.html#instance-methods">Methods</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/activate.html">activate</a></li>
|
|
||||||
<li><a href="pages_receive_screen/ReceiveScreenState/build.html">build</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/deactivate.html">deactivate</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/debugFillProperties.html">debugFillProperties</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/didChangeDependencies.html">didChangeDependencies</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html">didUpdateWidget</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/dispose.html">dispose</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/initState.html">initState</a></li>
|
|
||||||
<li><a href="pages_receive_screen/ReceiveScreenState/loadSettings.html">loadSettings</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/reassemble.html">reassemble</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/setState.html">setState</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toDiagnosticsNode.html">toDiagnosticsNode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toStringShort.html">toStringShort</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="pages_receive_screen/ReceiveScreenState-class.html#operators">Operators</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/operator_equals.html">operator ==</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,487 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the ReceiveScreenState class from the receive_screen library, for the Dart programming language.">
|
|
||||||
<title>ReceiveScreenState class - receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen.dart</a></li>
|
|
||||||
<li class="self-crumb">ReceiveScreenState class</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">ReceiveScreenState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_receive_screen/pages_receive_screen-library-sidebar.html"
|
|
||||||
data-below-sidebar="pages_receive_screen/ReceiveScreenState-class-sidebar.html">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-class">ReceiveScreenState</span> class
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>State for the receive screen.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<dl class="dl-horizontal">
|
|
||||||
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<ul class="gt-separated dark clazz-relationships">
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a><span class="signature"><<wbr><span class="type-parameter"><a href="../pages_receive_screen/ReceiveScreen-class.html">ReceiveScreen</a></span>></span></li>
|
|
||||||
<li>ReceiveScreenState</li>
|
|
||||||
</ul>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constructors">
|
|
||||||
<h2>Constructors</h2>
|
|
||||||
|
|
||||||
<dl class="constructor-summary-list">
|
|
||||||
<dt id="ReceiveScreenState" class="callable">
|
|
||||||
<span class="name"><a href="../pages_receive_screen/ReceiveScreenState/ReceiveScreenState.html">ReceiveScreenState</a></span><span class="signature">()</span>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-properties">
|
|
||||||
<h2>Properties</h2>
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="appOrigin" class="property">
|
|
||||||
<span class="name"><a href="../pages_receive_screen/ReceiveScreenState/appOrigin.html">appOrigin</a></span>
|
|
||||||
<span class="signature">↔ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
The URL of the app that initiated the transfer.
|
|
||||||
<div class="features"><span class="feature">getter/setter pair</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="context" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/context.html">context</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/widgets/BuildContext-class.html">BuildContext</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The location in the tree where this widget builds.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="hashCode" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The hash code for this object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="inputValue" class="property">
|
|
||||||
<span class="name"><a href="../pages_receive_screen/ReceiveScreenState/inputValue.html">inputValue</a></span>
|
|
||||||
<span class="signature">↔ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
The current input value of the connection link input.
|
|
||||||
<div class="features"><span class="feature">getter/setter pair</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="mounted" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/mounted.html">mounted</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Whether this <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object is currently in a tree.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="myController" class="property">
|
|
||||||
<span class="name"><a href="../pages_receive_screen/ReceiveScreenState/myController.html">myController</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/widgets/TextEditingController-class.html">TextEditingController</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Text editing controller for the connection link input.
|
|
||||||
<div class="features"><span class="feature">final</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="runtimeType" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A representation of the runtime type of the object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="widget" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/widget.html">widget</a></span>
|
|
||||||
<span class="signature">→ <a href="../pages_receive_screen/ReceiveScreen-class.html">ReceiveScreen</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The current configuration.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-methods">
|
|
||||||
<h2>Methods</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="activate" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/activate.html">activate</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is reinserted into the tree after having been
|
|
||||||
removed via <a href="https://api.flutter.dev/flutter/widgets/State/deactivate.html">deactivate</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="build" class="callable">
|
|
||||||
<span class="name"><a href="../pages_receive_screen/ReceiveScreenState/build.html">build</a></span><span class="signature">(<wbr><span class="parameter" id="build-param-context"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/widgets/BuildContext-class.html">BuildContext</a></span> <span class="parameter-name">context</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Builds the scaffold for the receive screen.
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="deactivate" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/deactivate.html">deactivate</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is removed from the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugFillProperties" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/debugFillProperties.html">debugFillProperties</a></span><span class="signature">(<wbr><span class="parameter" id="debugFillProperties-param-properties"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticPropertiesBuilder-class.html">DiagnosticPropertiesBuilder</a></span> <span class="parameter-name">properties</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Add additional properties associated with the node.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="didChangeDependencies" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/didChangeDependencies.html">didChangeDependencies</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when a dependency of this <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object changes.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="didUpdateWidget" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html">didUpdateWidget</a></span><span class="signature">(<wbr><span class="parameter" id="didUpdateWidget-param-oldWidget"><span>covariant</span> <span class="type-annotation"><a href="../pages_receive_screen/ReceiveScreen-class.html">ReceiveScreen</a></span> <span class="parameter-name">oldWidget</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called whenever the widget configuration changes.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="dispose" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/dispose.html">dispose</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is removed from the tree permanently.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="initState" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/initState.html">initState</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is inserted into the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="loadSettings" class="callable">
|
|
||||||
<span class="name"><a href="../pages_receive_screen/ReceiveScreenState/loadSettings.html">loadSettings</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-async/Future-class.html">Future</a><span class="signature"><<wbr><span class="type-parameter">void</span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Loads the app origin from the shared preferences.
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="noSuchMethod" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
|
|
||||||
<span class="returntype parameter">→ dynamic</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Invoked when a nonexistent method or property is accessed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="reassemble" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/reassemble.html">reassemble</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called whenever the application is reassembled during debugging, for
|
|
||||||
example during hot reload.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="setState" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/setState.html">setState</a></span><span class="signature">(<wbr><span class="parameter" id="setState-param-fn"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-ui/VoidCallback.html">VoidCallback</a></span> <span class="parameter-name">fn</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Notify the framework that the internal state of this object has changed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toDiagnosticsNode" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toDiagnosticsNode.html">toDiagnosticsNode</a></span><span class="signature">(<wbr><span class="parameter" id="toDiagnosticsNode-param-name">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">name</span>, </span><span class="parameter" id="toDiagnosticsNode-param-style"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsTreeStyle.html">DiagnosticsTreeStyle</a>?</span> <span class="parameter-name">style</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a debug representation of the object that is used by debugging
|
|
||||||
tools and by <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode/toStringDeep.html">DiagnosticsNode.toStringDeep</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toString" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></span><span class="signature">(<wbr><span class="parameter" id="toString-param-minLevel">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.info</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A string representation of this object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShort" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toStringShort.html">toStringShort</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A brief description of this object, usually just the <a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a> and the
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="operators">
|
|
||||||
<h2>Operators</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="operator ==" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The equality operator.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_receive_screen/pages_receive_screen-library.html">receive_screen</a></li>
|
|
||||||
<li class="self-crumb">ReceiveScreenState class</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>receive_screen library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,120 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the ReceiveScreenState constructor from Class ReceiveScreenState from the receive_screen library, for the Dart programming language.">
|
|
||||||
<title>ReceiveScreenState constructor - ReceiveScreenState - receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">ReceiveScreenState constructor</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">ReceiveScreenState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_receive_screen/ReceiveScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-constructor">ReceiveScreenState</span> constructor
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<span class="name ">ReceiveScreenState</span>(<wbr>)
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">receive_screen</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">ReceiveScreenState constructor</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>ReceiveScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the appOrigin property from the ReceiveScreenState class, for the Dart programming language.">
|
|
||||||
<title>appOrigin property - ReceiveScreenState class - receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">appOrigin property</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">appOrigin</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_receive_screen/ReceiveScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">appOrigin</span> property
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>
|
|
||||||
<span class="name ">appOrigin</span>
|
|
||||||
<div class="features"><span class="feature">getter/setter pair</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>The URL of the app that initiated the transfer.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">String appOrigin = '';</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">receive_screen</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">appOrigin property</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>ReceiveScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,239 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the build method from the ReceiveScreenState class, for the Dart programming language.">
|
|
||||||
<title>build method - ReceiveScreenState class - receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">build method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">build</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_receive_screen/ReceiveScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">build</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<ol class="annotation-list">
|
|
||||||
<li>@<a href="https://api.flutter.dev/flutter/dart-core/override-constant.html">override</a></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="returntype"><a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></span>
|
|
||||||
<span class="name ">build</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="build-param-context"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/widgets/BuildContext-class.html">BuildContext</a></span> <span class="parameter-name">context</span></span></li>
|
|
||||||
</ol>)
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Builds the scaffold for the receive screen.</p>
|
|
||||||
<p>The scaffold contains a center widget that contains a column of widgets.
|
|
||||||
The column contains a QR code scanner if <code>_showScanner</code> is true, otherwise
|
|
||||||
it contains a text field for entering the transfer name. Below the text
|
|
||||||
field is an elevated button for initiating the receive process.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Scaffold(
|
|
||||||
backgroundColor: Constants.backColor,
|
|
||||||
body: Center(
|
|
||||||
child: Column(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
// If _showScanner is false, display a QR code icon that can be tapped
|
|
||||||
// to start the QR code scanner.
|
|
||||||
if (!_showScanner)
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
if (Platform.isIOS || Platform.isAndroid) {
|
|
||||||
setState(() {
|
|
||||||
_showScanner = true;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
child: Container(
|
|
||||||
width: 200,
|
|
||||||
height: 200,
|
|
||||||
decoration: const BoxDecoration(
|
|
||||||
shape: BoxShape.circle,
|
|
||||||
color: Constants.textColor,
|
|
||||||
),
|
|
||||||
child: const Center(
|
|
||||||
child: Icon(
|
|
||||||
Icons.qr_code,
|
|
||||||
color: Constants.highlightColor,
|
|
||||||
size: 100,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
// If _showScanner is true, display the QR code scanner.
|
|
||||||
if (_showScanner)
|
|
||||||
Container(
|
|
||||||
width: MediaQuery.of(context).size.width * 0.8,
|
|
||||||
height: MediaQuery.of(context).size.height * 0.5,
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Colors.white,
|
|
||||||
borderRadius: BorderRadius.circular(16),
|
|
||||||
),
|
|
||||||
child: _buildQRScanner(),
|
|
||||||
),
|
|
||||||
// Add some spacing between the scanner and the text field.
|
|
||||||
const SizedBox(height: 32),
|
|
||||||
// Display a text field for entering the transfer name.
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
|
||||||
child: SizedBox(
|
|
||||||
width: MediaQuery.of(context).size.width * 0.5,
|
|
||||||
child: TextField(
|
|
||||||
controller: myController,
|
|
||||||
textAlign: TextAlign.center,
|
|
||||||
style: const TextStyle(
|
|
||||||
color: Constants.highlightColor,
|
|
||||||
),
|
|
||||||
onChanged: (value) {
|
|
||||||
setState(() {
|
|
||||||
inputValue = value;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
decoration: const InputDecoration(
|
|
||||||
labelText: 'Enter Transfername',
|
|
||||||
alignLabelWithHint: true,
|
|
||||||
floatingLabelAlignment: FloatingLabelAlignment.center,
|
|
||||||
labelStyle: TextStyle(color: Constants.textColor),
|
|
||||||
enabledBorder: UnderlineInputBorder(
|
|
||||||
borderSide: BorderSide(color: Constants.textColor),
|
|
||||||
),
|
|
||||||
focusedBorder: UnderlineInputBorder(
|
|
||||||
borderSide: BorderSide(color: Constants.textColor),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
// Add some spacing between the text field and the receive button.
|
|
||||||
const SizedBox(height: 16),
|
|
||||||
// Display an elevated button for initiating the receive process.
|
|
||||||
ElevatedButton(
|
|
||||||
style: ElevatedButton.styleFrom(
|
|
||||||
backgroundColor: Constants.textColor,
|
|
||||||
foregroundColor: Constants.backColor,
|
|
||||||
shape: RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.circular(20),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
onPressed: () {
|
|
||||||
loadSettings().then((_) => _startTransfer(appOrigin));
|
|
||||||
},
|
|
||||||
child: const Text('Receive'),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
)),
|
|
||||||
);
|
|
||||||
}</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">receive_screen</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">build method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>ReceiveScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the inputValue property from the ReceiveScreenState class, for the Dart programming language.">
|
|
||||||
<title>inputValue property - ReceiveScreenState class - receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">inputValue property</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">inputValue</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_receive_screen/ReceiveScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">inputValue</span> property
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>
|
|
||||||
<span class="name ">inputValue</span>
|
|
||||||
<div class="features"><span class="feature">getter/setter pair</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>The current input value of the connection link input.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">String inputValue = '';</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">receive_screen</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">inputValue property</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>ReceiveScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,138 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the loadSettings method from the ReceiveScreenState class, for the Dart programming language.">
|
|
||||||
<title>loadSettings method - ReceiveScreenState class - receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">loadSettings method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">loadSettings</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_receive_screen/ReceiveScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">loadSettings</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
|
|
||||||
<span class="returntype"><a href="https://api.flutter.dev/flutter/dart-async/Future-class.html">Future</a><span class="signature"><<wbr><span class="type-parameter">void</span>></span></span>
|
|
||||||
<span class="name ">loadSettings</span>(<wbr>)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Loads the app origin from the shared preferences.</p>
|
|
||||||
<p>If the app origin is not present in the shared preferences, it sets the
|
|
||||||
default value to 'wss://caesar-transfer-iu.shuttleapp.rs'.</p>
|
|
||||||
<p>Returns a <a href="https://api.flutter.dev/flutter/dart-async/Future-class.html">Future</a> that completes with no value.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">Future<void> loadSettings() async {
|
|
||||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
||||||
appOrigin = prefs.getString('app_origin') ??
|
|
||||||
'wss://caesar-transfer-iu.shuttleapp.rs'; // Load the app origin
|
|
||||||
}</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">receive_screen</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">loadSettings method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>ReceiveScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the myController property from the ReceiveScreenState class, for the Dart programming language.">
|
|
||||||
<title>myController property - ReceiveScreenState class - receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">myController property</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">myController</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_receive_screen/ReceiveScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">myController</span> property
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/widgets/TextEditingController-class.html">TextEditingController</a>
|
|
||||||
<span class="name ">myController</span>
|
|
||||||
<div class="features"><span class="feature">final</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Text editing controller for the connection link input.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">final myController = TextEditingController();</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/pages_receive_screen-library.html">receive_screen</a></li>
|
|
||||||
<li><a href="../../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
<li class="self-crumb">myController property</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>ReceiveScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
<ol>
|
|
||||||
<li class="section-title"><a href="pages_receive_screen/pages_receive_screen-library.html#classes">Classes</a></li>
|
|
||||||
<li><a href="pages_receive_screen/ReceiveScreen-class.html">ReceiveScreen</a></li>
|
|
||||||
<li><a href="pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,160 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="receive_screen library API docs, for the Dart programming language.">
|
|
||||||
<title>receive_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">pages/receive_screen.dart</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">receive_screen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar=""
|
|
||||||
data-below-sidebar="pages_receive_screen/pages_receive_screen-library-sidebar.html">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
|
|
||||||
|
|
||||||
<h1>
|
|
||||||
<span class="kind-library">pages/receive_screen</span>
|
|
||||||
library
|
|
||||||
|
|
||||||
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="classes">
|
|
||||||
<h2>Classes</h2>
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt id="ReceiveScreen">
|
|
||||||
<span class="name "><a href="../pages_receive_screen/ReceiveScreen-class.html">ReceiveScreen</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Screen for receiving files.
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="ReceiveScreenState">
|
|
||||||
<span class="name "><a href="../pages_receive_screen/ReceiveScreenState-class.html">ReceiveScreenState</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
State for the receive screen.
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">pages/receive_screen.dart</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5><span class="package-name">flutter_test_gui</span> <span class="package-kind">package</span></h5>
|
|
||||||
<ol>
|
|
||||||
<li class="section-title">Libraries</li>
|
|
||||||
<li><a href="../consts_consts/consts_consts-library.html">consts/consts</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen</a></li>
|
|
||||||
<li><a href="../pages_send_screen/pages_send_screen-library.html">pages/send_screen</a></li>
|
|
||||||
<li><a href="../pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen</a></li>
|
|
||||||
<li><a href="../pages_succes_screen/pages_succes_screen-library.html">pages/succes_screen</a></li>
|
|
||||||
<li><a href="../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen</a></li>
|
|
||||||
<li><a href="../pages_waiting_screen/pages_waiting_screen-library.html">pages/waiting_screen</a></li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
<h5>receive_screen library</h5>
|
|
||||||
</div><!--/sidebar-offcanvas-right-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_send_screen/SendScreen-class.html#constructors">Constructors</a></li>
|
|
||||||
<li><a href="pages_send_screen/SendScreen/SendScreen.html">SendScreen</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title inherited">
|
|
||||||
<a href="pages_send_screen/SendScreen-class.html#instance-properties">Properties</a>
|
|
||||||
</li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_send_screen/SendScreen-class.html#instance-methods">Methods</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></li>
|
|
||||||
<li><a href="pages_send_screen/SendScreen/createState.html">createState</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="pages_send_screen/SendScreen-class.html#operators">Operators</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,370 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the SendScreen class from the send_screen library, for the Dart programming language.">
|
|
||||||
<title>SendScreen class - send_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_send_screen/pages_send_screen-library.html">pages/send_screen.dart</a></li>
|
|
||||||
<li class="self-crumb">SendScreen class</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">SendScreen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_send_screen/pages_send_screen-library-sidebar.html"
|
|
||||||
data-below-sidebar="pages_send_screen/SendScreen-class-sidebar.html">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-class">SendScreen</span> class
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Represents the screen for sending files.</p>
|
|
||||||
<p>This is a <a href="https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html">StatefulWidget</a> that displays a screen for sending files.
|
|
||||||
It allows the user to select files to send and provides a name for the transfer.
|
|
||||||
The selected files are stored in a list and can be accessed by the <a href="../pages_send_screen/SendScreenState-class.html">SendScreenState</a>.</p>
|
|
||||||
<p>See also:</p>
|
|
||||||
<ul>
|
|
||||||
<li><a href="../pages_send_screen/SendScreenState-class.html">SendScreenState</a></li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<dl class="dl-horizontal">
|
|
||||||
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<ul class="gt-separated dark clazz-relationships">
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree-class.html">DiagnosticableTree</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html">StatefulWidget</a></li>
|
|
||||||
<li>SendScreen</li>
|
|
||||||
</ul>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constructors">
|
|
||||||
<h2>Constructors</h2>
|
|
||||||
|
|
||||||
<dl class="constructor-summary-list">
|
|
||||||
<dt id="SendScreen" class="callable">
|
|
||||||
<span class="name"><a href="../pages_send_screen/SendScreen/SendScreen.html">SendScreen</a></span><span class="signature">(<span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>}</span>)</span>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates a <a href="../pages_send_screen/SendScreen-class.html">SendScreen</a>.
|
|
||||||
<div class="constructor-modifier features">const</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="instance-properties">
|
|
||||||
<h2>Properties</h2>
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="hashCode" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The hash code for this object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="key" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Controls how one widget replaces another widget in the tree.
|
|
||||||
<div class="features"><span class="feature">final</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="runtimeType" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A representation of the runtime type of the object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-methods">
|
|
||||||
<h2>Methods</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="createElement" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Creates a <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a> to manage this widget's location in the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="createState" class="callable">
|
|
||||||
<span class="name"><a href="../pages_send_screen/SendScreen/createState.html">createState</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="../pages_send_screen/SendScreenState-class.html">SendScreenState</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates a <a href="../pages_send_screen/SendScreenState-class.html">SendScreenState</a> to control the <a href="../pages_send_screen/SendScreen-class.html">SendScreen</a>.
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugDescribeChildren" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a list of <code>DiagnosticsNode</code> objects describing this node's
|
|
||||||
children.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugFillProperties" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></span><span class="signature">(<wbr><span class="parameter" id="debugFillProperties-param-properties"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticPropertiesBuilder-class.html">DiagnosticPropertiesBuilder</a></span> <span class="parameter-name">properties</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Add additional properties associated with the node.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="noSuchMethod" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
|
|
||||||
<span class="returntype parameter">→ dynamic</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Invoked when a nonexistent method or property is accessed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toDiagnosticsNode" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></span><span class="signature">(<wbr><span class="parameter" id="toDiagnosticsNode-param-name">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">name</span>, </span><span class="parameter" id="toDiagnosticsNode-param-style"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsTreeStyle.html">DiagnosticsTreeStyle</a>?</span> <span class="parameter-name">style</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a debug representation of the object that is used by debugging
|
|
||||||
tools and by <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode/toStringDeep.html">DiagnosticsNode.toStringDeep</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toString" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></span><span class="signature">(<wbr><span class="parameter" id="toString-param-minLevel">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.info</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A string representation of this object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringDeep" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></span><span class="signature">(<wbr><span class="parameter" id="toStringDeep-param-prefixLineOne">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">prefixLineOne</span> = <span class="default-value">''</span>, </span><span class="parameter" id="toStringDeep-param-prefixOtherLines"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">prefixOtherLines</span>, </span><span class="parameter" id="toStringDeep-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a string representation of this node and its descendants.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShallow" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></span><span class="signature">(<wbr><span class="parameter" id="toStringShallow-param-joiner">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">joiner</span> = <span class="default-value">', '</span>, </span><span class="parameter" id="toStringShallow-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a one-line detailed description of the object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShort" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A short, textual description of this widget.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="operators">
|
|
||||||
<h2>Operators</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="operator ==" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The equality operator.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_send_screen/pages_send_screen-library.html">send_screen</a></li>
|
|
||||||
<li class="self-crumb">SendScreen class</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>send_screen library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,129 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the SendScreen constructor from Class SendScreen from the send_screen library, for the Dart programming language.">
|
|
||||||
<title>SendScreen constructor - SendScreen - send_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">pages/send_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreen-class.html">SendScreen</a></li>
|
|
||||||
<li class="self-crumb">SendScreen const constructor</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">SendScreen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_send_screen/SendScreen-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-constructor">SendScreen</span> constructor
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
const
|
|
||||||
<span class="name ">SendScreen</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>}</span></li>
|
|
||||||
</ol>)
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates a <a href="../../pages_send_screen/SendScreen-class.html">SendScreen</a>.</p>
|
|
||||||
<p>The <a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a> parameter is used to identify the <a href="../../pages_send_screen/SendScreen-class.html">SendScreen</a> widget.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">const SendScreen({super.key});</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">send_screen</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreen-class.html">SendScreen</a></li>
|
|
||||||
<li class="self-crumb">SendScreen const constructor</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>SendScreen class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,139 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the createState method from the SendScreen class, for the Dart programming language.">
|
|
||||||
<title>createState method - SendScreen class - send_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">pages/send_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreen-class.html">SendScreen</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">createState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_send_screen/SendScreen-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">createState</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<ol class="annotation-list">
|
|
||||||
<li>@<a href="https://api.flutter.dev/flutter/dart-core/override-constant.html">override</a></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="returntype"><a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a></span>
|
|
||||||
<span class="name ">createState</span>(<wbr>)
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates a <a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a> to control the <a href="../../pages_send_screen/SendScreen-class.html">SendScreen</a>.</p>
|
|
||||||
<p>This method is called when a <a href="../../pages_send_screen/SendScreen-class.html">SendScreen</a> widget is created.
|
|
||||||
It returns a new instance of <a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a>.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
SendScreenState createState() => SendScreenState();</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">send_screen</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreen-class.html">SendScreen</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>SendScreen class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_send_screen/SendScreenState-class.html#constructors">Constructors</a></li>
|
|
||||||
<li><a href="pages_send_screen/SendScreenState/SendScreenState.html">SendScreenState</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title">
|
|
||||||
<a href="pages_send_screen/SendScreenState-class.html#instance-properties">Properties</a>
|
|
||||||
</li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/context.html">context</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/mounted.html">mounted</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
||||||
<li><a href="pages_send_screen/SendScreenState/transferName.html">transferName</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/widget.html">widget</a></li>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_send_screen/SendScreenState-class.html#instance-methods">Methods</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/activate.html">activate</a></li>
|
|
||||||
<li><a href="pages_send_screen/SendScreenState/build.html">build</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/deactivate.html">deactivate</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/debugFillProperties.html">debugFillProperties</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/didChangeDependencies.html">didChangeDependencies</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html">didUpdateWidget</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/dispose.html">dispose</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/initState.html">initState</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
||||||
<li><a href="pages_send_screen/SendScreenState/openFilePicker.html">openFilePicker</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/reassemble.html">reassemble</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/setState.html">setState</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toDiagnosticsNode.html">toDiagnosticsNode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toStringShort.html">toStringShort</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="pages_send_screen/SendScreenState-class.html#operators">Operators</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/operator_equals.html">operator ==</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,460 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the SendScreenState class from the send_screen library, for the Dart programming language.">
|
|
||||||
<title>SendScreenState class - send_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_send_screen/pages_send_screen-library.html">pages/send_screen.dart</a></li>
|
|
||||||
<li class="self-crumb">SendScreenState class</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">SendScreenState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_send_screen/pages_send_screen-library-sidebar.html"
|
|
||||||
data-below-sidebar="pages_send_screen/SendScreenState-class-sidebar.html">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-class">SendScreenState</span> class
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<dl class="dl-horizontal">
|
|
||||||
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<ul class="gt-separated dark clazz-relationships">
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a><span class="signature"><<wbr><span class="type-parameter"><a href="../pages_send_screen/SendScreen-class.html">SendScreen</a></span>></span></li>
|
|
||||||
<li>SendScreenState</li>
|
|
||||||
</ul>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constructors">
|
|
||||||
<h2>Constructors</h2>
|
|
||||||
|
|
||||||
<dl class="constructor-summary-list">
|
|
||||||
<dt id="SendScreenState" class="callable">
|
|
||||||
<span class="name"><a href="../pages_send_screen/SendScreenState/SendScreenState.html">SendScreenState</a></span><span class="signature">()</span>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-properties">
|
|
||||||
<h2>Properties</h2>
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="context" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/context.html">context</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/widgets/BuildContext-class.html">BuildContext</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The location in the tree where this widget builds.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="hashCode" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The hash code for this object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="mounted" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/mounted.html">mounted</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Whether this <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object is currently in a tree.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="runtimeType" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A representation of the runtime type of the object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="transferName" class="property">
|
|
||||||
<span class="name"><a href="../pages_send_screen/SendScreenState/transferName.html">transferName</a></span>
|
|
||||||
<span class="signature">↔ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Name of the transfer.
|
|
||||||
<div class="features"><span class="feature">getter/setter pair</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="widget" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/widget.html">widget</a></span>
|
|
||||||
<span class="signature">→ <a href="../pages_send_screen/SendScreen-class.html">SendScreen</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The current configuration.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-methods">
|
|
||||||
<h2>Methods</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="activate" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/activate.html">activate</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is reinserted into the tree after having been
|
|
||||||
removed via <a href="https://api.flutter.dev/flutter/widgets/State/deactivate.html">deactivate</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="build" class="callable">
|
|
||||||
<span class="name"><a href="../pages_send_screen/SendScreenState/build.html">build</a></span><span class="signature">(<wbr><span class="parameter" id="build-param-context"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/widgets/BuildContext-class.html">BuildContext</a></span> <span class="parameter-name">context</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Builds the UI for the send screen.
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="deactivate" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/deactivate.html">deactivate</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is removed from the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugFillProperties" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/debugFillProperties.html">debugFillProperties</a></span><span class="signature">(<wbr><span class="parameter" id="debugFillProperties-param-properties"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticPropertiesBuilder-class.html">DiagnosticPropertiesBuilder</a></span> <span class="parameter-name">properties</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Add additional properties associated with the node.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="didChangeDependencies" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/didChangeDependencies.html">didChangeDependencies</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when a dependency of this <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object changes.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="didUpdateWidget" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html">didUpdateWidget</a></span><span class="signature">(<wbr><span class="parameter" id="didUpdateWidget-param-oldWidget"><span>covariant</span> <span class="type-annotation"><a href="../pages_send_screen/SendScreen-class.html">SendScreen</a></span> <span class="parameter-name">oldWidget</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called whenever the widget configuration changes.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="dispose" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/dispose.html">dispose</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is removed from the tree permanently.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="initState" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/initState.html">initState</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is inserted into the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="noSuchMethod" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
|
|
||||||
<span class="returntype parameter">→ dynamic</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Invoked when a nonexistent method or property is accessed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="openFilePicker" class="callable">
|
|
||||||
<span class="name"><a href="../pages_send_screen/SendScreenState/openFilePicker.html">openFilePicker</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-async/Future-class.html">Future</a><span class="signature"><<wbr><span class="type-parameter">void</span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Opens the file picker and adds the selected files to <code>_list</code>.
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="reassemble" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/reassemble.html">reassemble</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called whenever the application is reassembled during debugging, for
|
|
||||||
example during hot reload.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="setState" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/setState.html">setState</a></span><span class="signature">(<wbr><span class="parameter" id="setState-param-fn"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-ui/VoidCallback.html">VoidCallback</a></span> <span class="parameter-name">fn</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Notify the framework that the internal state of this object has changed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toDiagnosticsNode" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toDiagnosticsNode.html">toDiagnosticsNode</a></span><span class="signature">(<wbr><span class="parameter" id="toDiagnosticsNode-param-name">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">name</span>, </span><span class="parameter" id="toDiagnosticsNode-param-style"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsTreeStyle.html">DiagnosticsTreeStyle</a>?</span> <span class="parameter-name">style</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a debug representation of the object that is used by debugging
|
|
||||||
tools and by <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode/toStringDeep.html">DiagnosticsNode.toStringDeep</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toString" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></span><span class="signature">(<wbr><span class="parameter" id="toString-param-minLevel">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.info</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A string representation of this object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShort" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toStringShort.html">toStringShort</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A brief description of this object, usually just the <a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a> and the
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="operators">
|
|
||||||
<h2>Operators</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="operator ==" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The equality operator.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_send_screen/pages_send_screen-library.html">send_screen</a></li>
|
|
||||||
<li class="self-crumb">SendScreenState class</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>send_screen library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,120 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the SendScreenState constructor from Class SendScreenState from the send_screen library, for the Dart programming language.">
|
|
||||||
<title>SendScreenState constructor - SendScreenState - send_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">pages/send_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a></li>
|
|
||||||
<li class="self-crumb">SendScreenState constructor</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">SendScreenState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_send_screen/SendScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-constructor">SendScreenState</span> constructor
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<span class="name ">SendScreenState</span>(<wbr>)
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">send_screen</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a></li>
|
|
||||||
<li class="self-crumb">SendScreenState constructor</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>SendScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,240 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the build method from the SendScreenState class, for the Dart programming language.">
|
|
||||||
<title>build method - SendScreenState class - send_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">pages/send_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a></li>
|
|
||||||
<li class="self-crumb">build method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">build</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_send_screen/SendScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">build</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<ol class="annotation-list">
|
|
||||||
<li>@<a href="https://api.flutter.dev/flutter/dart-core/override-constant.html">override</a></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="returntype"><a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></span>
|
|
||||||
<span class="name ">build</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="build-param-context"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/widgets/BuildContext-class.html">BuildContext</a></span> <span class="parameter-name">context</span></span></li>
|
|
||||||
</ol>)
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Builds the UI for the send screen.</p>
|
|
||||||
<p>Returns a <a href="https://api.flutter.dev/flutter/material/Scaffold-class.html">Scaffold</a> widget that contains a <a href="https://api.flutter.dev/flutter/widgets/Column-class.html">Column</a> with two children:</p>
|
|
||||||
<ul>
|
|
||||||
<li>A <a href="https://api.flutter.dev/flutter/widgets/Center-class.html">Center</a> widget that contains a <a href="https://api.flutter.dev/flutter/widgets/Stack-class.html">Stack</a> with a <a href="https://api.flutter.dev/flutter/widgets/GestureDetector-class.html">GestureDetector</a> that
|
|
||||||
handles file picking and dragging.</li>
|
|
||||||
<li>An <a href="https://api.flutter.dev/flutter/material/ElevatedButton-class.html">ElevatedButton</a> that triggers the transfer when pressed.</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Scaffold(
|
|
||||||
// Set the background color of the scaffold.
|
|
||||||
backgroundColor: Constants.backColor,
|
|
||||||
// Build the body of the scaffold.
|
|
||||||
body: Column(
|
|
||||||
// Align the children vertically to the center.
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
// Build the file picking and dragging UI.
|
|
||||||
Center(
|
|
||||||
child: Stack(
|
|
||||||
children: [
|
|
||||||
// Build the gesture detector.
|
|
||||||
GestureDetector(
|
|
||||||
// Handle file picking when the user taps.
|
|
||||||
onTap: openFilePicker,
|
|
||||||
// Handle file dragging.
|
|
||||||
child: DropTarget(
|
|
||||||
// Add the selected files to the list when the user drops files.
|
|
||||||
onDragDone: (detail) {
|
|
||||||
setState(() {
|
|
||||||
_list.addAll(detail.files);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// Show the add icon when the user drags files over the drop area.
|
|
||||||
onDragEntered: (detail) {
|
|
||||||
setState(() {
|
|
||||||
_dragging = true;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// Hide the add icon when the user stops dragging files.
|
|
||||||
onDragExited: (detail) {
|
|
||||||
setState(() {
|
|
||||||
_dragging = false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// Build the drop area UI.
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
// Build the circular container for the drop area.
|
|
||||||
Container(
|
|
||||||
height: 200,
|
|
||||||
width: 200,
|
|
||||||
decoration: const BoxDecoration(
|
|
||||||
shape: BoxShape.circle,
|
|
||||||
color: Constants.textColor),
|
|
||||||
// Show the add icon when the user is dragging files.
|
|
||||||
child: _dragging
|
|
||||||
? const Center(
|
|
||||||
child: Icon(
|
|
||||||
Icons.add_rounded,
|
|
||||||
color: Constants.highlightColor,
|
|
||||||
size: 200,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
// Show the upload icon when the user is not dragging files.
|
|
||||||
: const Center(
|
|
||||||
child: Icon(
|
|
||||||
Icons.upload_rounded,
|
|
||||||
color: Constants.highlightColor,
|
|
||||||
size: 200,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
// Add some spacing between the drop area and the send button.
|
|
||||||
const SizedBox(height: 16),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
// Build the send button.
|
|
||||||
ElevatedButton(
|
|
||||||
style: ElevatedButton.styleFrom(
|
|
||||||
// Set the background color of the button.
|
|
||||||
backgroundColor: Constants.textColor,
|
|
||||||
// Set the text color of the button.
|
|
||||||
foregroundColor: Constants.backColor,
|
|
||||||
// Set the shape of the button.
|
|
||||||
shape: RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.circular(20),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
// Trigger the transfer when the user presses the button.
|
|
||||||
onPressed: () {
|
|
||||||
_startTransfer();
|
|
||||||
},
|
|
||||||
// Set the text of the button.
|
|
||||||
child: const Text("Send"),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">send_screen</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a></li>
|
|
||||||
<li class="self-crumb">build method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>SendScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,143 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the openFilePicker method from the SendScreenState class, for the Dart programming language.">
|
|
||||||
<title>openFilePicker method - SendScreenState class - send_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">pages/send_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a></li>
|
|
||||||
<li class="self-crumb">openFilePicker method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">openFilePicker</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_send_screen/SendScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">openFilePicker</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
|
|
||||||
<span class="returntype"><a href="https://api.flutter.dev/flutter/dart-async/Future-class.html">Future</a><span class="signature"><<wbr><span class="type-parameter">void</span>></span></span>
|
|
||||||
<span class="name ">openFilePicker</span>(<wbr>)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Opens the file picker and adds the selected files to <code>_list</code>.</p>
|
|
||||||
<p>See also:</p>
|
|
||||||
<ul>
|
|
||||||
<li><code>FilePicker.platform.pickFiles</code></li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">Future<void> openFilePicker() async {
|
|
||||||
FilePickerResult? result = await FilePicker.platform.pickFiles(
|
|
||||||
allowMultiple: true, // Allow selecting multiple files
|
|
||||||
);
|
|
||||||
|
|
||||||
if (result != null) {
|
|
||||||
_list.addAll(result.xFiles);
|
|
||||||
}
|
|
||||||
}</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">send_screen</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a></li>
|
|
||||||
<li class="self-crumb">openFilePicker method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>SendScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the transferName property from the SendScreenState class, for the Dart programming language.">
|
|
||||||
<title>transferName property - SendScreenState class - send_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">pages/send_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a></li>
|
|
||||||
<li class="self-crumb">transferName property</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">transferName</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_send_screen/SendScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">transferName</span> property
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>
|
|
||||||
<span class="name ">transferName</span>
|
|
||||||
<div class="features"><span class="feature">getter/setter pair</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Name of the transfer.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">String transferName = '';</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/pages_send_screen-library.html">send_screen</a></li>
|
|
||||||
<li><a href="../../pages_send_screen/SendScreenState-class.html">SendScreenState</a></li>
|
|
||||||
<li class="self-crumb">transferName property</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>SendScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
<ol>
|
|
||||||
<li class="section-title"><a href="pages_send_screen/pages_send_screen-library.html#classes">Classes</a></li>
|
|
||||||
<li><a href="pages_send_screen/SendScreen-class.html">SendScreen</a></li>
|
|
||||||
<li><a href="pages_send_screen/SendScreenState-class.html">SendScreenState</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,160 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="send_screen library API docs, for the Dart programming language.">
|
|
||||||
<title>send_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">pages/send_screen.dart</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">send_screen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar=""
|
|
||||||
data-below-sidebar="pages_send_screen/pages_send_screen-library-sidebar.html">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
|
|
||||||
|
|
||||||
<h1>
|
|
||||||
<span class="kind-library">pages/send_screen</span>
|
|
||||||
library
|
|
||||||
|
|
||||||
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="classes">
|
|
||||||
<h2>Classes</h2>
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt id="SendScreen">
|
|
||||||
<span class="name "><a href="../pages_send_screen/SendScreen-class.html">SendScreen</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Represents the screen for sending files.
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="SendScreenState">
|
|
||||||
<span class="name "><a href="../pages_send_screen/SendScreenState-class.html">SendScreenState</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">pages/send_screen.dart</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5><span class="package-name">flutter_test_gui</span> <span class="package-kind">package</span></h5>
|
|
||||||
<ol>
|
|
||||||
<li class="section-title">Libraries</li>
|
|
||||||
<li><a href="../consts_consts/consts_consts-library.html">consts/consts</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen</a></li>
|
|
||||||
<li><a href="../pages_send_screen/pages_send_screen-library.html">pages/send_screen</a></li>
|
|
||||||
<li><a href="../pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen</a></li>
|
|
||||||
<li><a href="../pages_succes_screen/pages_succes_screen-library.html">pages/succes_screen</a></li>
|
|
||||||
<li><a href="../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen</a></li>
|
|
||||||
<li><a href="../pages_waiting_screen/pages_waiting_screen-library.html">pages/waiting_screen</a></li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
<h5>send_screen library</h5>
|
|
||||||
</div><!--/sidebar-offcanvas-right-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_settings_screen/SettingsScreen-class.html#constructors">Constructors</a></li>
|
|
||||||
<li><a href="pages_settings_screen/SettingsScreen/SettingsScreen.html">SettingsScreen</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title inherited">
|
|
||||||
<a href="pages_settings_screen/SettingsScreen-class.html#instance-properties">Properties</a>
|
|
||||||
</li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_settings_screen/SettingsScreen-class.html#instance-methods">Methods</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></li>
|
|
||||||
<li><a href="pages_settings_screen/SettingsScreen/createState.html">createState</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="pages_settings_screen/SettingsScreen-class.html#operators">Operators</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,366 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the SettingsScreen class from the settings_screen library, for the Dart programming language.">
|
|
||||||
<title>SettingsScreen class - settings_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen.dart</a></li>
|
|
||||||
<li class="self-crumb">SettingsScreen class</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">SettingsScreen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_settings_screen/pages_settings_screen-library-sidebar.html"
|
|
||||||
data-below-sidebar="pages_settings_screen/SettingsScreen-class-sidebar.html">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-class">SettingsScreen</span> class
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Screen for displaying and editing the app's settings.</p>
|
|
||||||
<p>This screen allows the user to view and edit the app's settings.
|
|
||||||
The settings include the app environment, host, port, origin, and relay.
|
|
||||||
The settings are stored in SharedPreferences.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<dl class="dl-horizontal">
|
|
||||||
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<ul class="gt-separated dark clazz-relationships">
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree-class.html">DiagnosticableTree</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html">StatefulWidget</a></li>
|
|
||||||
<li>SettingsScreen</li>
|
|
||||||
</ul>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constructors">
|
|
||||||
<h2>Constructors</h2>
|
|
||||||
|
|
||||||
<dl class="constructor-summary-list">
|
|
||||||
<dt id="SettingsScreen" class="callable">
|
|
||||||
<span class="name"><a href="../pages_settings_screen/SettingsScreen/SettingsScreen.html">SettingsScreen</a></span><span class="signature">(<span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>}</span>)</span>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Constructs a <a href="../pages_settings_screen/SettingsScreen-class.html">SettingsScreen</a>.
|
|
||||||
<div class="constructor-modifier features">const</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="instance-properties">
|
|
||||||
<h2>Properties</h2>
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="hashCode" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The hash code for this object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="key" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Controls how one widget replaces another widget in the tree.
|
|
||||||
<div class="features"><span class="feature">final</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="runtimeType" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A representation of the runtime type of the object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-methods">
|
|
||||||
<h2>Methods</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="createElement" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Creates a <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a> to manage this widget's location in the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="createState" class="callable">
|
|
||||||
<span class="name"><a href="../pages_settings_screen/SettingsScreen/createState.html">createState</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ _SettingsScreenState</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates the mutable state for this widget at a given location in the tree.
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugDescribeChildren" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a list of <code>DiagnosticsNode</code> objects describing this node's
|
|
||||||
children.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugFillProperties" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></span><span class="signature">(<wbr><span class="parameter" id="debugFillProperties-param-properties"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticPropertiesBuilder-class.html">DiagnosticPropertiesBuilder</a></span> <span class="parameter-name">properties</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Add additional properties associated with the node.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="noSuchMethod" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
|
|
||||||
<span class="returntype parameter">→ dynamic</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Invoked when a nonexistent method or property is accessed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toDiagnosticsNode" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></span><span class="signature">(<wbr><span class="parameter" id="toDiagnosticsNode-param-name">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">name</span>, </span><span class="parameter" id="toDiagnosticsNode-param-style"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsTreeStyle.html">DiagnosticsTreeStyle</a>?</span> <span class="parameter-name">style</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a debug representation of the object that is used by debugging
|
|
||||||
tools and by <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode/toStringDeep.html">DiagnosticsNode.toStringDeep</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toString" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></span><span class="signature">(<wbr><span class="parameter" id="toString-param-minLevel">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.info</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A string representation of this object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringDeep" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></span><span class="signature">(<wbr><span class="parameter" id="toStringDeep-param-prefixLineOne">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">prefixLineOne</span> = <span class="default-value">''</span>, </span><span class="parameter" id="toStringDeep-param-prefixOtherLines"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">prefixOtherLines</span>, </span><span class="parameter" id="toStringDeep-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a string representation of this node and its descendants.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShallow" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></span><span class="signature">(<wbr><span class="parameter" id="toStringShallow-param-joiner">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">joiner</span> = <span class="default-value">', '</span>, </span><span class="parameter" id="toStringShallow-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a one-line detailed description of the object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShort" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A short, textual description of this widget.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="operators">
|
|
||||||
<h2>Operators</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="operator ==" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The equality operator.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_settings_screen/pages_settings_screen-library.html">settings_screen</a></li>
|
|
||||||
<li class="self-crumb">SettingsScreen class</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>settings_screen library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the SettingsScreen constructor from Class SettingsScreen from the settings_screen library, for the Dart programming language.">
|
|
||||||
<title>SettingsScreen constructor - SettingsScreen - settings_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_settings_screen/SettingsScreen-class.html">SettingsScreen</a></li>
|
|
||||||
<li class="self-crumb">SettingsScreen const constructor</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">SettingsScreen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_settings_screen/SettingsScreen-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-constructor">SettingsScreen</span> constructor
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
const
|
|
||||||
<span class="name ">SettingsScreen</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>}</span></li>
|
|
||||||
</ol>)
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Constructs a <a href="../../pages_settings_screen/SettingsScreen-class.html">SettingsScreen</a>.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">const SettingsScreen({Key? key}) : super(key: key);</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_settings_screen/pages_settings_screen-library.html">settings_screen</a></li>
|
|
||||||
<li><a href="../../pages_settings_screen/SettingsScreen-class.html">SettingsScreen</a></li>
|
|
||||||
<li class="self-crumb">SettingsScreen const constructor</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>SettingsScreen class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,149 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the createState method from the SettingsScreen class, for the Dart programming language.">
|
|
||||||
<title>createState method - SettingsScreen class - settings_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_settings_screen/SettingsScreen-class.html">SettingsScreen</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">createState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_settings_screen/SettingsScreen-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">createState</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<ol class="annotation-list">
|
|
||||||
<li>@<a href="https://api.flutter.dev/flutter/dart-core/override-constant.html">override</a></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="returntype">_SettingsScreenState</span>
|
|
||||||
<span class="name ">createState</span>(<wbr>)
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates the mutable state for this widget at a given location in the tree.</p>
|
|
||||||
<p>Subclasses should override this method to return a newly created
|
|
||||||
instance of their associated <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> subclass:</p>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
State<SomeWidget> createState() => _SomeWidgetState();
|
|
||||||
</code></pre>
|
|
||||||
<p>The framework can call this method multiple times over the lifetime of
|
|
||||||
a <code>StatefulWidget</code>. For example, if the widget is inserted into the tree
|
|
||||||
in multiple locations, the framework will create a separate <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object
|
|
||||||
for each location. Similarly, if the widget is removed from the tree and
|
|
||||||
later inserted into the tree again, the framework will call <a href="../../pages_settings_screen/SettingsScreen/createState.html">createState</a>
|
|
||||||
again to create a fresh <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object, simplifying the lifecycle of
|
|
||||||
<a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> objects.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
_SettingsScreenState createState() => _SettingsScreenState();</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_settings_screen/pages_settings_screen-library.html">settings_screen</a></li>
|
|
||||||
<li><a href="../../pages_settings_screen/SettingsScreen-class.html">SettingsScreen</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>SettingsScreen class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
<ol>
|
|
||||||
<li class="section-title"><a href="pages_settings_screen/pages_settings_screen-library.html#classes">Classes</a></li>
|
|
||||||
<li><a href="pages_settings_screen/SettingsScreen-class.html">SettingsScreen</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,152 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="settings_screen library API docs, for the Dart programming language.">
|
|
||||||
<title>settings_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">pages/settings_screen.dart</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">settings_screen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar=""
|
|
||||||
data-below-sidebar="pages_settings_screen/pages_settings_screen-library-sidebar.html">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
|
|
||||||
|
|
||||||
<h1>
|
|
||||||
<span class="kind-library">pages/settings_screen</span>
|
|
||||||
library
|
|
||||||
|
|
||||||
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="classes">
|
|
||||||
<h2>Classes</h2>
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt id="SettingsScreen">
|
|
||||||
<span class="name "><a href="../pages_settings_screen/SettingsScreen-class.html">SettingsScreen</a></span>
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Screen for displaying and editing the app's settings.
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">pages/settings_screen.dart</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5><span class="package-name">flutter_test_gui</span> <span class="package-kind">package</span></h5>
|
|
||||||
<ol>
|
|
||||||
<li class="section-title">Libraries</li>
|
|
||||||
<li><a href="../consts_consts/consts_consts-library.html">consts/consts</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen</a></li>
|
|
||||||
<li><a href="../pages_send_screen/pages_send_screen-library.html">pages/send_screen</a></li>
|
|
||||||
<li><a href="../pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen</a></li>
|
|
||||||
<li><a href="../pages_succes_screen/pages_succes_screen-library.html">pages/succes_screen</a></li>
|
|
||||||
<li><a href="../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen</a></li>
|
|
||||||
<li><a href="../pages_waiting_screen/pages_waiting_screen-library.html">pages/waiting_screen</a></li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
<h5>settings_screen library</h5>
|
|
||||||
</div><!--/sidebar-offcanvas-right-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,138 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="succes_screen library API docs, for the Dart programming language.">
|
|
||||||
<title>succes_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">pages/succes_screen.dart</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">succes_screen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar=""
|
|
||||||
data-below-sidebar="pages_succes_screen/pages_succes_screen-library-sidebar.html">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
|
|
||||||
|
|
||||||
<h1>
|
|
||||||
<span class="kind-library">pages/succes_screen</span>
|
|
||||||
library
|
|
||||||
|
|
||||||
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li class="self-crumb">pages/succes_screen.dart</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5><span class="package-name">flutter_test_gui</span> <span class="package-kind">package</span></h5>
|
|
||||||
<ol>
|
|
||||||
<li class="section-title">Libraries</li>
|
|
||||||
<li><a href="../consts_consts/consts_consts-library.html">consts/consts</a></li>
|
|
||||||
<li><a href="../main/main-library.html">main</a></li>
|
|
||||||
<li><a href="../pages_receive_screen/pages_receive_screen-library.html">pages/receive_screen</a></li>
|
|
||||||
<li><a href="../pages_send_screen/pages_send_screen-library.html">pages/send_screen</a></li>
|
|
||||||
<li><a href="../pages_settings_screen/pages_settings_screen-library.html">pages/settings_screen</a></li>
|
|
||||||
<li><a href="../pages_succes_screen/pages_succes_screen-library.html">pages/succes_screen</a></li>
|
|
||||||
<li><a href="../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen</a></li>
|
|
||||||
<li><a href="../pages_waiting_screen/pages_waiting_screen-library.html">pages/waiting_screen</a></li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
<h5>succes_screen library</h5>
|
|
||||||
</div><!--/sidebar-offcanvas-right-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_transfer_screen/TransferScreen-class.html#constructors">Constructors</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreen/TransferScreen.html">TransferScreen</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title">
|
|
||||||
<a href="pages_transfer_screen/TransferScreen-class.html#instance-properties">Properties</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreen/directory.html">directory</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreen/transferName.html">transferName</a></li>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_transfer_screen/TransferScreen-class.html#instance-methods">Methods</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreen/createState.html">createState</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="pages_transfer_screen/TransferScreen-class.html#operators">Operators</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,393 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the TransferScreen class from the transfer_screen library, for the Dart programming language.">
|
|
||||||
<title>TransferScreen class - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li class="self-crumb">TransferScreen class</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">TransferScreen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/pages_transfer_screen-library-sidebar.html"
|
|
||||||
data-below-sidebar="pages_transfer_screen/TransferScreen-class-sidebar.html">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-class">TransferScreen</span> class
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Represents the screen for transferring files.</p>
|
|
||||||
<p>This is a <a href="https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html">StatefulWidget</a> that displays a screen for transferring files.
|
|
||||||
It takes in two parameters:</p>
|
|
||||||
<ul>
|
|
||||||
<li><a href="../pages_transfer_screen/TransferScreen/transferName.html">transferName</a>: The name of the transfer.</li>
|
|
||||||
<li><a href="../pages_transfer_screen/TransferScreen/directory.html">directory</a>: The directory containing the files to be transferred.</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<dl class="dl-horizontal">
|
|
||||||
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<ul class="gt-separated dark clazz-relationships">
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree-class.html">DiagnosticableTree</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html">StatefulWidget</a></li>
|
|
||||||
<li>TransferScreen</li>
|
|
||||||
</ul>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constructors">
|
|
||||||
<h2>Constructors</h2>
|
|
||||||
|
|
||||||
<dl class="constructor-summary-list">
|
|
||||||
<dt id="TransferScreen" class="callable">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreen/TransferScreen.html">TransferScreen</a></span><span class="signature">(<span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>, </span><span class="parameter" id="-param-transferName"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">transferName</span>, </span><span class="parameter" id="-param-directory"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">directory</span>}</span>)</span>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates a <a href="../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a> widget.
|
|
||||||
<div class="constructor-modifier features">const</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-properties">
|
|
||||||
<h2>Properties</h2>
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="directory" class="property">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreen/directory.html">directory</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">final</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="hashCode" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/hashCode.html">hashCode</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The hash code for this object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="key" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/key.html">key</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Controls how one widget replaces another widget in the tree.
|
|
||||||
<div class="features"><span class="feature">final</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="runtimeType" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A representation of the runtime type of the object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="transferName" class="property">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreen/transferName.html">transferName</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">final</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-methods">
|
|
||||||
<h2>Methods</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="createElement" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/StatefulWidget/createElement.html">createElement</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Creates a <a href="https://api.flutter.dev/flutter/widgets/StatefulElement-class.html">StatefulElement</a> to manage this widget's location in the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="createState" class="callable">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreen/createState.html">createState</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Creates the mutable state for this widget at a given location in the tree.
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugDescribeChildren" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/debugDescribeChildren.html">debugDescribeChildren</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a list of <code>DiagnosticsNode</code> objects describing this node's
|
|
||||||
children.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugFillProperties" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/debugFillProperties.html">debugFillProperties</a></span><span class="signature">(<wbr><span class="parameter" id="debugFillProperties-param-properties"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticPropertiesBuilder-class.html">DiagnosticPropertiesBuilder</a></span> <span class="parameter-name">properties</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Add additional properties associated with the node.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="noSuchMethod" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
|
|
||||||
<span class="returntype parameter">→ dynamic</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Invoked when a nonexistent method or property is accessed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toDiagnosticsNode" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toDiagnosticsNode.html">toDiagnosticsNode</a></span><span class="signature">(<wbr><span class="parameter" id="toDiagnosticsNode-param-name">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">name</span>, </span><span class="parameter" id="toDiagnosticsNode-param-style"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsTreeStyle.html">DiagnosticsTreeStyle</a>?</span> <span class="parameter-name">style</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a debug representation of the object that is used by debugging
|
|
||||||
tools and by <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode/toStringDeep.html">DiagnosticsNode.toStringDeep</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toString" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></span><span class="signature">(<wbr><span class="parameter" id="toString-param-minLevel">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.info</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A string representation of this object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringDeep" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringDeep.html">toStringDeep</a></span><span class="signature">(<wbr><span class="parameter" id="toStringDeep-param-prefixLineOne">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">prefixLineOne</span> = <span class="default-value">''</span>, </span><span class="parameter" id="toStringDeep-param-prefixOtherLines"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">prefixOtherLines</span>, </span><span class="parameter" id="toStringDeep-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a string representation of this node and its descendants.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShallow" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticableTree/toStringShallow.html">toStringShallow</a></span><span class="signature">(<wbr><span class="parameter" id="toStringShallow-param-joiner">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">joiner</span> = <span class="default-value">', '</span>, </span><span class="parameter" id="toStringShallow-param-minLevel"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.debug</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a one-line detailed description of the object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShort" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/toStringShort.html">toStringShort</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A short, textual description of this widget.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="operators">
|
|
||||||
<h2>Operators</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="operator ==" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/Widget/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The equality operator.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li class="self-crumb">TransferScreen class</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>transfer_screen library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,134 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the TransferScreen constructor from Class TransferScreen from the transfer_screen library, for the Dart programming language.">
|
|
||||||
<title>TransferScreen constructor - TransferScreen - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></li>
|
|
||||||
<li class="self-crumb">TransferScreen const constructor</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">TransferScreen</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/TransferScreen-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-constructor">TransferScreen</span> constructor
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
const
|
|
||||||
<span class="name ">TransferScreen</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="-param-key">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/Key-class.html">Key</a>?</span> <span class="parameter-name">key</span>, </span></li>
|
|
||||||
<li><span class="parameter" id="-param-transferName"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">transferName</span>, </span></li>
|
|
||||||
<li><span class="parameter" id="-param-directory"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">directory</span>}</span></li>
|
|
||||||
</ol>)
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates a <a href="../../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a> widget.</p>
|
|
||||||
<p>The <a href="../../pages_transfer_screen/TransferScreen/transferName.html">transferName</a> and <a href="../../pages_transfer_screen/TransferScreen/directory.html">directory</a> parameters are required.</p>
|
|
||||||
<p>The <code>key</code> parameter is optional.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">const TransferScreen(
|
|
||||||
{Key? key, required this.transferName, required this.directory})
|
|
||||||
: super(key: key);</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></li>
|
|
||||||
<li class="self-crumb">TransferScreen const constructor</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>TransferScreen class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,149 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the createState method from the TransferScreen class, for the Dart programming language.">
|
|
||||||
<title>createState method - TransferScreen class - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">createState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/TransferScreen-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">createState</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<ol class="annotation-list">
|
|
||||||
<li>@<a href="https://api.flutter.dev/flutter/dart-core/override-constant.html">override</a></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="returntype"><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></span>
|
|
||||||
<span class="name ">createState</span>(<wbr>)
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Creates the mutable state for this widget at a given location in the tree.</p>
|
|
||||||
<p>Subclasses should override this method to return a newly created
|
|
||||||
instance of their associated <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> subclass:</p>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
State<SomeWidget> createState() => _SomeWidgetState();
|
|
||||||
</code></pre>
|
|
||||||
<p>The framework can call this method multiple times over the lifetime of
|
|
||||||
a <code>StatefulWidget</code>. For example, if the widget is inserted into the tree
|
|
||||||
in multiple locations, the framework will create a separate <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object
|
|
||||||
for each location. Similarly, if the widget is removed from the tree and
|
|
||||||
later inserted into the tree again, the framework will call <a href="../../pages_transfer_screen/TransferScreen/createState.html">createState</a>
|
|
||||||
again to create a fresh <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object, simplifying the lifecycle of
|
|
||||||
<a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> objects.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
TransferScreenState createState() => TransferScreenState();</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></li>
|
|
||||||
<li class="self-crumb">createState method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>TransferScreen class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the directory property from the TransferScreen class, for the Dart programming language.">
|
|
||||||
<title>directory property - TransferScreen class - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></li>
|
|
||||||
<li class="self-crumb">directory property</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">directory</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/TransferScreen-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">directory</span> property
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>
|
|
||||||
<span class="name ">directory</span>
|
|
||||||
<div class="features"><span class="feature">final</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">final String directory;</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></li>
|
|
||||||
<li class="self-crumb">directory property</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>TransferScreen class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the transferName property from the TransferScreen class, for the Dart programming language.">
|
|
||||||
<title>transferName property - TransferScreen class - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></li>
|
|
||||||
<li class="self-crumb">transferName property</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">transferName</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/TransferScreen-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">transferName</span> property
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>
|
|
||||||
<span class="name ">transferName</span>
|
|
||||||
<div class="features"><span class="feature">final</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">final String transferName;</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></li>
|
|
||||||
<li class="self-crumb">transferName property</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>TransferScreen class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
<ol>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_transfer_screen/TransferScreenState-class.html#constructors">Constructors</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreenState/TransferScreenState.html">TransferScreenState</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="section-title">
|
|
||||||
<a href="pages_transfer_screen/TransferScreenState-class.html#instance-properties">Properties</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreenState/appOrigin.html">appOrigin</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/context.html">context</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreenState/inputValue.html">inputValue</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/mounted.html">mounted</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/widget.html">widget</a></li>
|
|
||||||
|
|
||||||
<li class="section-title"><a href="pages_transfer_screen/TransferScreenState-class.html#instance-methods">Methods</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/activate.html">activate</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreenState/build.html">build</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreenState/callStartReceiver.html">callStartReceiver</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/deactivate.html">deactivate</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/debugFillProperties.html">debugFillProperties</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/didChangeDependencies.html">didChangeDependencies</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html">didUpdateWidget</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/dispose.html">dispose</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreenState/initState.html">initState</a></li>
|
|
||||||
<li><a href="pages_transfer_screen/TransferScreenState/loadSettings.html">loadSettings</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/reassemble.html">reassemble</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/widgets/State/setState.html">setState</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toDiagnosticsNode.html">toDiagnosticsNode</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toStringShort.html">toStringShort</a></li>
|
|
||||||
|
|
||||||
<li class="section-title inherited"><a href="pages_transfer_screen/TransferScreenState-class.html#operators">Operators</a></li>
|
|
||||||
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/operator_equals.html">operator ==</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
|
|
@ -1,485 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the TransferScreenState class from the transfer_screen library, for the Dart programming language.">
|
|
||||||
<title>TransferScreenState class - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li class="self-crumb">TransferScreenState class</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">TransferScreenState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/pages_transfer_screen-library-sidebar.html"
|
|
||||||
data-below-sidebar="pages_transfer_screen/TransferScreenState-class-sidebar.html">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-class">TransferScreenState</span> class
|
|
||||||
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<dl class="dl-horizontal">
|
|
||||||
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<ul class="gt-separated dark clazz-relationships">
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></li>
|
|
||||||
<li><a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a><span class="signature"><<wbr><span class="type-parameter"><a href="../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></span>></span></li>
|
|
||||||
<li>TransferScreenState</li>
|
|
||||||
</ul>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary offset-anchor" id="constructors">
|
|
||||||
<h2>Constructors</h2>
|
|
||||||
|
|
||||||
<dl class="constructor-summary-list">
|
|
||||||
<dt id="TransferScreenState" class="callable">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreenState/TransferScreenState.html">TransferScreenState</a></span><span class="signature">()</span>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-properties">
|
|
||||||
<h2>Properties</h2>
|
|
||||||
<dl class="properties">
|
|
||||||
<dt id="appOrigin" class="property">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreenState/appOrigin.html">appOrigin</a></span>
|
|
||||||
<span class="signature">↔ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">getter/setter pair</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="context" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/context.html">context</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/widgets/BuildContext-class.html">BuildContext</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The location in the tree where this widget builds.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="hashCode" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The hash code for this object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="inputValue" class="property">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreenState/inputValue.html">inputValue</a></span>
|
|
||||||
<span class="signature">↔ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">getter/setter pair</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="mounted" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/mounted.html">mounted</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Whether this <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object is currently in a tree.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="runtimeType" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
|
|
||||||
<span class="signature">→ <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A representation of the runtime type of the object.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="widget" class="property inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/widget.html">widget</a></span>
|
|
||||||
<span class="signature">→ <a href="../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The current configuration.
|
|
||||||
<div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor"
|
|
||||||
id="instance-methods">
|
|
||||||
<h2>Methods</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="activate" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/activate.html">activate</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is reinserted into the tree after having been
|
|
||||||
removed via <a href="https://api.flutter.dev/flutter/widgets/State/deactivate.html">deactivate</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="build" class="callable">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreenState/build.html">build</a></span><span class="signature">(<wbr><span class="parameter" id="build-param-context"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/widgets/BuildContext-class.html">BuildContext</a></span> <span class="parameter-name">context</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Builds the widget tree for the TransferScreen.
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="callStartReceiver" class="callable">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreenState/callStartReceiver.html">callStartReceiver</a></span><span class="signature">(<wbr><span class="parameter" id="callStartReceiver-param-appOrigin"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">appOrigin</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-async/Future-class.html">Future</a><span class="signature"><<wbr><span class="type-parameter">void</span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Calls the start transfer function with the given <code>appOrigin</code>.
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="deactivate" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/deactivate.html">deactivate</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is removed from the tree.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="debugFillProperties" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/debugFillProperties.html">debugFillProperties</a></span><span class="signature">(<wbr><span class="parameter" id="debugFillProperties-param-properties"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticPropertiesBuilder-class.html">DiagnosticPropertiesBuilder</a></span> <span class="parameter-name">properties</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Add additional properties associated with the node.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="didChangeDependencies" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/didChangeDependencies.html">didChangeDependencies</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when a dependency of this <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object changes.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="didUpdateWidget" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html">didUpdateWidget</a></span><span class="signature">(<wbr><span class="parameter" id="didUpdateWidget-param-oldWidget"><span>covariant</span> <span class="type-annotation"><a href="../pages_transfer_screen/TransferScreen-class.html">TransferScreen</a></span> <span class="parameter-name">oldWidget</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called whenever the widget configuration changes.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="dispose" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/dispose.html">dispose</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called when this object is removed from the tree permanently.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="initState" class="callable">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreenState/initState.html">initState</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Called when this object is inserted into the tree.
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="loadSettings" class="callable">
|
|
||||||
<span class="name"><a href="../pages_transfer_screen/TransferScreenState/loadSettings.html">loadSettings</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-async/Future-class.html">Future</a><span class="signature"><<wbr><span class="type-parameter">void</span>></span></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
Loads the settings from the SharedPreferences.
|
|
||||||
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="noSuchMethod" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
|
|
||||||
<span class="returntype parameter">→ dynamic</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Invoked when a nonexistent method or property is accessed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="reassemble" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/reassemble.html">reassemble</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Called whenever the application is reassembled during debugging, for
|
|
||||||
example during hot reload.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="setState" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/widgets/State/setState.html">setState</a></span><span class="signature">(<wbr><span class="parameter" id="setState-param-fn"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-ui/VoidCallback.html">VoidCallback</a></span> <span class="parameter-name">fn</span></span>)
|
|
||||||
<span class="returntype parameter">→ void</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Notify the framework that the internal state of this object has changed.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toDiagnosticsNode" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toDiagnosticsNode.html">toDiagnosticsNode</a></span><span class="signature">(<wbr><span class="parameter" id="toDiagnosticsNode-param-name">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">name</span>, </span><span class="parameter" id="toDiagnosticsNode-param-style"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticsTreeStyle.html">DiagnosticsTreeStyle</a>?</span> <span class="parameter-name">style</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode-class.html">DiagnosticsNode</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
Returns a debug representation of the object that is used by debugging
|
|
||||||
tools and by <a href="https://api.flutter.dev/flutter/foundation/DiagnosticsNode/toStringDeep.html">DiagnosticsNode.toStringDeep</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toString" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toString.html">toString</a></span><span class="signature">(<wbr><span class="parameter" id="toString-param-minLevel">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/foundation/DiagnosticLevel.html">DiagnosticLevel</a></span> <span class="parameter-name">minLevel</span> = <span class="default-value">DiagnosticLevel.info</span>}</span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A string representation of this object.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<dt id="toStringShort" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/foundation/Diagnosticable/toStringShort.html">toStringShort</a></span><span class="signature">(<wbr>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
A brief description of this object, usually just the <a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a> and the
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/Object/hashCode.html">hashCode</a>.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="summary offset-anchor inherited"
|
|
||||||
id="operators">
|
|
||||||
<h2>Operators</h2>
|
|
||||||
<dl class="callables">
|
|
||||||
<dt id="operator ==" class="callable inherited">
|
|
||||||
<span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
|
|
||||||
<span class="returntype parameter">→ <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</dt>
|
|
||||||
<dd class="inherited">
|
|
||||||
The equality operator.
|
|
||||||
<div class="features"><span class="feature">inherited</span></div>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li class="self-crumb">TransferScreenState class</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>transfer_screen library</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,120 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the TransferScreenState constructor from Class TransferScreenState from the transfer_screen library, for the Dart programming language.">
|
|
||||||
<title>TransferScreenState constructor - TransferScreenState - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">TransferScreenState constructor</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">TransferScreenState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/TransferScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-constructor">TransferScreenState</span> constructor
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<span class="name ">TransferScreenState</span>(<wbr>)
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">TransferScreenState constructor</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>TransferScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-left-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the appOrigin property from the TransferScreenState class, for the Dart programming language.">
|
|
||||||
<title>appOrigin property - TransferScreenState class - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">appOrigin property</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">appOrigin</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/TransferScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">appOrigin</span> property
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>
|
|
||||||
<span class="name ">appOrigin</span>
|
|
||||||
<div class="features"><span class="feature">getter/setter pair</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">String appOrigin = '';</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">appOrigin property</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>TransferScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,199 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the build method from the TransferScreenState class, for the Dart programming language.">
|
|
||||||
<title>build method - TransferScreenState class - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">build method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">build</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/TransferScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">build</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<ol class="annotation-list">
|
|
||||||
<li>@<a href="https://api.flutter.dev/flutter/dart-core/override-constant.html">override</a></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="returntype"><a href="https://api.flutter.dev/flutter/widgets/Widget-class.html">Widget</a></span>
|
|
||||||
<span class="name ">build</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="build-param-context"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/widgets/BuildContext-class.html">BuildContext</a></span> <span class="parameter-name">context</span></span></li>
|
|
||||||
</ol>)
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Builds the widget tree for the TransferScreen.</p>
|
|
||||||
<p>This method builds a widget tree for the TransferScreen. It returns a
|
|
||||||
Scaffold widget with a background color set to Constants.backColor. The
|
|
||||||
body of the scaffold is a Center widget that contains a Column widget.
|
|
||||||
The Column widget has its mainAxisAlignment set to MainAxisAlignment.center.
|
|
||||||
It contains three children: a Text widget displaying the transferName, a
|
|
||||||
Text widget with the text "Transfer in Progress", and a SizedBox widget
|
|
||||||
with a height of 32. The SizedBox widget is followed by a Center widget
|
|
||||||
that contains an Icon widget with the icon Icons.cloud_download_rounded,
|
|
||||||
its color set to Constants.highlightColor, and its size set to 200.</p>
|
|
||||||
<p>Returns:
|
|
||||||
The widget tree for the TransferScreen.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
|
|
||||||
/// Builds the widget tree for the TransferScreen.
|
|
||||||
///
|
|
||||||
/// This method builds a widget tree for the TransferScreen. It returns a
|
|
||||||
/// Scaffold widget with a background color set to Constants.backColor. The
|
|
||||||
/// body of the scaffold is a Center widget that contains a Column widget.
|
|
||||||
/// The Column widget has its mainAxisAlignment set to MainAxisAlignment.center.
|
|
||||||
/// It contains three children: a Text widget displaying the transferName, a
|
|
||||||
/// Text widget with the text "Transfer in Progress", and a SizedBox widget
|
|
||||||
/// with a height of 32. The SizedBox widget is followed by a Center widget
|
|
||||||
/// that contains an Icon widget with the icon Icons.cloud_download_rounded,
|
|
||||||
/// its color set to Constants.highlightColor, and its size set to 200.
|
|
||||||
///
|
|
||||||
/// Returns:
|
|
||||||
/// The widget tree for the TransferScreen.
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Scaffold(
|
|
||||||
// Set the background color of the Scaffold widget.
|
|
||||||
backgroundColor: Constants.backColor,
|
|
||||||
body: Center(
|
|
||||||
// The body of the Scaffold widget.
|
|
||||||
child: Column(
|
|
||||||
// The Column widget has its mainAxisAlignment set to
|
|
||||||
// MainAxisAlignment.center.
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
// A Text widget displaying the transferName.
|
|
||||||
Text(
|
|
||||||
widget.transferName,
|
|
||||||
style: const TextStyle(
|
|
||||||
color: Colors.white,
|
|
||||||
fontSize: 24,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
// A Text widget with the text "Transfer in Progress".
|
|
||||||
Text("Transfer in Progress"),
|
|
||||||
// A SizedBox widget with a height of 32.
|
|
||||||
const SizedBox(height: 32),
|
|
||||||
// A Center widget containing an Icon widget.
|
|
||||||
const Center(
|
|
||||||
child: Icon(
|
|
||||||
Icons.cloud_download_rounded,
|
|
||||||
color: Constants.highlightColor,
|
|
||||||
size: 200,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">build method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>TransferScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,135 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the callStartReceiver method from the TransferScreenState class, for the Dart programming language.">
|
|
||||||
<title>callStartReceiver method - TransferScreenState class - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">callStartReceiver method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">callStartReceiver</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/TransferScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">callStartReceiver</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
|
|
||||||
<span class="returntype"><a href="https://api.flutter.dev/flutter/dart-async/Future-class.html">Future</a><span class="signature"><<wbr><span class="type-parameter">void</span>></span></span>
|
|
||||||
<span class="name ">callStartReceiver</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="callStartReceiver-param-appOrigin"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">appOrigin</span></span></li>
|
|
||||||
</ol>)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Calls the start transfer function with the given <code>appOrigin</code>.</p>
|
|
||||||
<p>It calls the _startTransfer function with the <code>appOrigin</code> parameter.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">Future<void> callStartReceiver(String appOrigin) async {
|
|
||||||
_startTransfer(appOrigin);
|
|
||||||
}</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">callStartReceiver method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>TransferScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,164 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the initState method from the TransferScreenState class, for the Dart programming language.">
|
|
||||||
<title>initState method - TransferScreenState class - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">initState method</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">initState</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/TransferScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-method">initState</span> method
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<ol class="annotation-list">
|
|
||||||
<li>@<a href="https://api.flutter.dev/flutter/dart-core/override-constant.html">override</a></li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="returntype">void</span>
|
|
||||||
<span class="name ">initState</span>(<wbr>)
|
|
||||||
|
|
||||||
<div class="features"><span class="feature">override</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="desc markdown">
|
|
||||||
<p>Called when this object is inserted into the tree.</p>
|
|
||||||
<p>The framework will call this method exactly once for each <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a> object
|
|
||||||
it creates.</p>
|
|
||||||
<p>Override this method to perform initialization that depends on the
|
|
||||||
location at which this object was inserted into the tree (i.e., <a href="https://api.flutter.dev/flutter/widgets/State/context.html">context</a>)
|
|
||||||
or on the widget used to configure this object (i.e., <a href="https://api.flutter.dev/flutter/widgets/State/widget.html">widget</a>).</p>
|
|
||||||
<p>If a <a href="https://api.flutter.dev/flutter/widgets/State-class.html">State</a>'s <a href="../../pages_transfer_screen/TransferScreenState/build.html">build</a> method depends on an object that can itself
|
|
||||||
change state, for example a <a href="https://api.flutter.dev/flutter/foundation/ChangeNotifier-class.html">ChangeNotifier</a> or <a href="https://api.flutter.dev/flutter/dart-async/Stream-class.html">Stream</a>, or some
|
|
||||||
other object to which one can subscribe to receive notifications, then
|
|
||||||
be sure to subscribe and unsubscribe properly in <a href="../../pages_transfer_screen/TransferScreenState/initState.html">initState</a>,
|
|
||||||
<a href="https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html">didUpdateWidget</a>, and <a href="https://api.flutter.dev/flutter/widgets/State/dispose.html">dispose</a>:</p>
|
|
||||||
<ul>
|
|
||||||
<li>In <a href="../../pages_transfer_screen/TransferScreenState/initState.html">initState</a>, subscribe to the object.</li>
|
|
||||||
<li>In <a href="https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html">didUpdateWidget</a> unsubscribe from the old object and subscribe
|
|
||||||
to the new one if the updated widget configuration requires
|
|
||||||
replacing the object.</li>
|
|
||||||
<li>In <a href="https://api.flutter.dev/flutter/widgets/State/dispose.html">dispose</a>, unsubscribe from the object.</li>
|
|
||||||
</ul>
|
|
||||||
<p>You should not use <a href="https://api.flutter.dev/flutter/widgets/BuildContext/dependOnInheritedWidgetOfExactType.html">BuildContext.dependOnInheritedWidgetOfExactType</a> from this
|
|
||||||
method. However, <a href="https://api.flutter.dev/flutter/widgets/State/didChangeDependencies.html">didChangeDependencies</a> will be called immediately
|
|
||||||
following this method, and <a href="https://api.flutter.dev/flutter/widgets/BuildContext/dependOnInheritedWidgetOfExactType.html">BuildContext.dependOnInheritedWidgetOfExactType</a> can
|
|
||||||
be used there.</p>
|
|
||||||
<p>Implementations of this method should start with a call to the inherited
|
|
||||||
method, as in <code>super.initState()</code>.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">@override
|
|
||||||
void initState() {
|
|
||||||
// Call the loadSettings function to load the settings.
|
|
||||||
super.initState();
|
|
||||||
loadSettings().then((_) => callStartReceiver(appOrigin));
|
|
||||||
}</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">initState method</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>TransferScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
||||||
<meta name="description" content="API docs for the inputValue property from the TransferScreenState class, for the Dart programming language.">
|
|
||||||
<title>inputValue property - TransferScreenState class - transfer_screen library - Dart API</title>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
||||||
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
||||||
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
|
||||||
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
||||||
|
|
||||||
<div id="overlay-under-drawer"></div>
|
|
||||||
|
|
||||||
<header id="title">
|
|
||||||
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">pages/transfer_screen.dart</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">inputValue property</li>
|
|
||||||
</ol>
|
|
||||||
<div class="self-name">inputValue</div>
|
|
||||||
<form class="search navbar-right" role="search">
|
|
||||||
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
<div class="toggle" id="theme-button" title="Toggle brightness">
|
|
||||||
<label for="theme">
|
|
||||||
<input type="checkbox" id="theme" value="light-theme">
|
|
||||||
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
||||||
dark_mode
|
|
||||||
</span>
|
|
||||||
<span id="light-theme-button" class="material-symbols-outlined">
|
|
||||||
light_mode
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id="dartdoc-main-content"
|
|
||||||
class="main-content"
|
|
||||||
data-above-sidebar="pages_transfer_screen/TransferScreenState-class-sidebar.html"
|
|
||||||
data-below-sidebar="">
|
|
||||||
<div>
|
|
||||||
<h1><span class="kind-property">inputValue</span> property
|
|
||||||
</h1></div>
|
|
||||||
|
|
||||||
<section class="multi-line-signature">
|
|
||||||
|
|
||||||
<a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>
|
|
||||||
<span class="name ">inputValue</span>
|
|
||||||
<div class="features"><span class="feature">getter/setter pair</span></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="summary source-code" id="source">
|
|
||||||
<h2><span>Implementation</span></h2>
|
|
||||||
<pre class="language-dart"><code class="language-dart">String inputValue = '';</code></pre>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- /.main-content -->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
||||||
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
||||||
<header id="header-search-sidebar" class="hidden-l">
|
|
||||||
<form class="search-sidebar" role="search">
|
|
||||||
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
||||||
</form>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
||||||
<li><a href="../../index.html">flutter_test_gui</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/pages_transfer_screen-library.html">transfer_screen</a></li>
|
|
||||||
<li><a href="../../pages_transfer_screen/TransferScreenState-class.html">TransferScreenState</a></li>
|
|
||||||
<li class="self-crumb">inputValue property</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
|
|
||||||
<h5>TransferScreenState class</h5>
|
|
||||||
<div id="dartdoc-sidebar-left-content"></div>
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
||||||
</div><!--/.sidebar-offcanvas-->
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<span class="no-break">
|
|
||||||
flutter_test_gui
|
|
||||||
1.0.0+1
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
||||||
<script src="../../static-assets/docs.dart.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue